I'd like to understand what is the difference between those both models, both return product collection, are filterables, etc...
Thank you
Many products are contained within a given category, and categories are what are used for primary navigation. Layer is a class to help with layered navigation, which is a sort of virtual set of categories. With layered navigation, you use the attributes of a product to filter down to the correct collection of products.
Layered navigation is used within a category to further narrow down the selection, and from a frontend perspective is a really underappreciated feature of Magento. Rather than creating new categories for every possible permutation of products to get categories, you can create broad categories and let the layered nav take care of the splitting on attributes.
Hope that clarifies a bit!
Thanks, Joe