Firstly, it's easier to teach you the principle behind user authentication and the MVC design pattern as a whole. Hopefully you can see that a Model is not simply a database abstraction layer, but a data abstraction layer. In the Account Model, we use it to handle both database interaction and session manipulation.
Secondly, as we were using the Form Validation Library and were using callbacks, we needed to use a Controller. The Form Validation Library only allows callbacks to be inside a Controller. If I had used a Library, I would have needed to use an extended Controller, and that's too complicated for users inexperienced with the framework.
Finally, the way that we've built it is the way that many people do it anyway. I have already created my own authentication library, aptly named The Authentication Library, which people can use. This way, however, is more suited to the MVC style for newer users. Everything is laid out in an easy way and it is much easier to pick...