You use a model any time you want to keep data around. In the example
you provide, you presumably want to keep information about the user in
your application so you would create a User model and fill it with all
the business logic required to maintain it.
Resources and REST are about how you *access* models. That's the
basic difference. What may be confusing is that generate/scaffold
creates both a RESTful API and a model. It may lead you to believe
that there is a 'resource' and a 'model' or that in some cases they
are synonymous... but they're not. Models~data, resources~data access
via HTTP
The restful_autentication plugin (one of those many authentication
systems that Ryan refers to while missing the general question you're
asking) will demonstrate a good example of models and resources. With
that plugin you create a single model (User) with a standard resource
(via UsersController). You also create a SessionController that
manages only the concept of a 'user session' but has no persistent
data... and thus no model behind it.