A profile defines the runtime environment. The profile includes all the files that the server processes in the runtime environment and that you can change. You can create profile using manageprofiles command or the Profile Management tool graphical user interface.
When you create a new profile, a new folder for the profile will get created in profiles folder but all the profiles for given application server installation share same binary. So if you update the application server version it will affect all the profiles. This makes administration little easier because you can update multiple servers by updating the binaries but disadvantage of using profiles is that you cant have different versions of the application server.
Each profile has its own administrative console and administrative scripting interface. The installation program for WebSphere Application Server uses the manageprofiles command to create a profile named default.
This how the directory structure of typical profile looks like