I SAS library, just like a physical library, is a storage place. It stores files mostly data sets but there are data views, and catalogs which are a somewhat complex topic because of the wide variety of things possible.
In one way you can think of it as a shorthand to your data. Instead of constantly typing a full path such as "d:\folder\subfolder\subsubfolder\projectfolder\datasetname.sasbdat" you only need to reference the library and the data set. If I have created a library named Project (warning: 8 character limit on library names) that pointed to that project folder then I use the syntax of Project.Datasetname to reference the data.
One thing that is very nice about SAS and facilitates moving from operating system to operating system is the Library. If you create library as above named project in a WINDOWS system and move over to a UNIX based system then you define your Project to point to the UNIX syntax file path such as "/mydrivemount/thisfolder/thatfolder/somefolder" and if the data sets are there, the same SAS syntax Project.datasetname finds the data. Since you really only need to define the library one time in a session most of code, providing the dependent files you use, runs without having to change a lot of paths referencing the data.
This a bit of a simplification as a single Library can point to multiple folders.
Meaningful library names can even help remind you what the contents are. Suppose you do sports analysis. You might create separate libraries for Football (8 characters), BaseBall (8 characters), BsktBall, and Hockey. Then when you look at code that references something like Football.Players you might realize that data set contains data about players of Football. Which then doen't get confused with the Baseball.Players. Or Football.Teams.