1. A Library is a List, but all lists are not libraries
2. In to a document library we can upload document which are not blocked file type and some content, which get stored in Content database.
3. A list on the other hand a just piece of data, just like SQL table although it is possible to store binary content in to list as well as using attachment.
4. And with a document library we can SPFileCollection.add(string, stream) - Document Library Accept a stream, means the content can be in memory, or disk or even a TCP/IP socket.
5. But with List we Only Can SPAttachmentCollection.Add(string, byte) only accepting a byte , means the attachment must fit entirely in one continuous block memory. It this is something you do with large file , your server memory may become fragmented
6. And we Can Publish a Infopath Form Template in document Library, and this problem is rise when we submit the Form in different place then where you published the form.
7. We can't create Folder in List but can in Doc. Library
8. Document library the Check in Check out functionality but not in List.
9. Document library support the Major and Minor Version of files and Folders. But in List only support the Major version. So that two people cannot change the same content at concurrently.
10. Some type of list have different functions like for instance people being only able to read their own posts, but these are not available in every type of list and are not available at all with document libraries and other libraries.
11. List have one special List Content type, same as list Library has also DocumentLibaray type content type.
12. Both list and Library are support Event handler and Workflow like features.