Magento is far from typical of PHP development and what it calls things don't always agree with what other people call them. Magento splits the model layer up into two parts as you've recognised, with the Model handling the business-logic, and the Resource part only dealing with talking to the database - the theory being that if you decided on a data-store that wasn't addressable with PDO, you'd be able to swap in a different resource to handle/loading and saving, without any of the logic that surrounds those things.
The two different types of Resource that magento does have are Entity and Mysql4 - the latter being a pretty standard table-gateway system, where the Resource maps to a table in the database, the former is a bit more complicated. In order to make it really easy for users and developers to add custom fields to things, the main parts of magento (products, customers, orders etc.) are all represented by what's known as Entity-Attribute-Value system (EAV) where rather than having a typed column per value, you have a row with a key (c.f. column name) and a value. The Entity Resources handle the mapping of these eav tables to the field-array that holds the data.
To emphasise though, this is far from typical of a PHP application and if your intention is to learn PHP, I'd pick a different system.