[eluser]junkwax[/eluser]
models are for business logic, not just queries ( data access ).
From wikipedia:
Model
Is the domain-specific representation of the information on which the application operates. Domain logic adds meaning to raw data (for example, calculating whether today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items).
Many applications use a persistent storage mechanism (such as a database) to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the model.
80% of my code is in models, 15% in controllers and 5% in views.
In CI, if you use libraries, you have to call get_instance() to access CI, so I use models with autoload so I can access all without calling get_instance();