Although in most of the UI and API they can be manipulated the same way, there are some significant differences between Lists and Libraries. The latter is a specialized type of the former.
Can have attachments
Have major versions only
Do not have Check-in/Check-out features
Cannot have attachments (files are directly in the library)
Have both minor (draft) and major (published) versioning
Publishing Libraries can use Page Layouts
Have Unique Document Ids out of the box
In code, you can always obtain an SPList from a SPDocumentLibrary but not the other way around.
Hope this helps…Happy Coding!!!!