Userexits allow us to add our own functionality to SAP standard program
without modifying it . These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the standard program by the SAP.
User exits are used when the flow for a particular transaction has to take some other route other then the normal flow. this can be the case when you have to attach some additional functionality lik u need a customised screen, or new functionality (using a functional module). based on these things user exits can be classified as screen exits, function module exits, field exits( not used anymore). hope this gives some help on userexits.
This is a complete Step by Step Screen shot tutorial on User Exits :
Refer to this thread ... hope it helps