Your alarm system will generally will have 3 different levels of codes. Of course, some systems may have multiple levels of code authority, but in this case we'll talk about the 3 major ones.
The Installer Code will allow access to the panel's programming. Sometimes it will allow the installer to arm and disarm the system for testing and servicing purposes without having to know your code. Once an alarm system is armed with any other code, this code is inactive and overridden until disarmed.
Generally, the Master User Code is the code most people would have and be using on their system. This code allows full usage, without access to the panel's program mode. It will usually allow arming, disarming, bypassing, resetting after alarm, as well as access to convenience features, such as the chime mode. If your system allows multiple codes, usually only the master code can add or delete a user. Usually, this code can't be deleted, only modified.
Usually, a User Code is just another valid code for the system to allow arming and disarming. Most manufacturers will eliminate the ability for this code to add or delete other users. Some of the larger panels will break down user codes into various authority levels and allow assignment of attributes to them. The end functionality of a user code varies by manufacturer and panel capabilities, but at minimum, it will be an arm and disarm code.
Some panels, such as mentioned, will have special codes, such as maintenance/service, duress/ambush, limited use codes "babysitter" or even allow a Master/owner, manager, and associate/employee sort of hierarchy and limit the abilities of each. Your manual should describe what your system may be capable of, as well as programmed for.
Usually, a duress code (if programmed/enabled) will disarm the system or transmit a special signal to a central station telling them the end user is being forced to disarm or access the system. How your particular system and central station will respond to such a signal should always be discussed.