I am new to CI. Before I had worked extensively in RoR and Symfony.
I am unable to understand why exactly CI provides Library and Models. Most of the CI code I examined
There are probably other schools of thought on this, but for me it's as follows:
Models are tightly coupled to your application, making direct references to your DB schema/architecture/file paths etc.
Libraries are loosely coupled. They should be treated like 3rd party add-ons and should make no assumptions about your app or your system. You should be able to "drop in" libraries at will with a minimum amount of configuration. Indeed, the opposite should be true, items in your library folder should be able to be dropped into any other CI application.