Robots and types are organized in libraries. A library is a collection of robot definitions, type definitions and other files needed to execute the contained robots. A library serves as the deployment unit for robots. This means that a library is how you bundle robots and their required files when you want to distribute and deploy the robots in a runtime environment, such as RoboServer.
When you are working in Design Studio you are working on at least one robot project, but you may have many robot projects open in Design Studio at any time. The purpose of a robot project is to develop a robot library. A robot project contains the robot library that you are developing a given set of robots in, as well as other files that are useful for your work on the robot library. Files placed in the library may also be accessed by robots using a special library protocol.
Thus, a robot project is what you work on when you are developing robots, and a robot library is how you distribute and deploy your work.