Take a look at ticket #6095 to know the motivation and rationale behind
the addition of the through option and some of the advantages when
compared with using you own model with FKs to the two related models.
Also and the documentation you pointed to modeltests/m2m_through tests
show the usage of the new API that allows you to do the same things you
were able to do but in a clearer way.
Regards,
--
Ramiro Morales
Ideas and patches to enhance the documentation making this
more straight forward to understand for the next person stumbling
the same doubts are welcome 8)
--
Ramiro Morales