Online verses Offline
Password cracking is better described as password guessing.
The basic process is to start with an encrypted version of a password to compare against. The cracking program is then given a dictionary (simply a list of words). One by one the cracker takes the next dictionary word and encrypts it using the same algorithm that was used on the example we are attempting to crack. The example encrypted password is then compared to the encrypted version of the dictionary word. If they match exactly then you have found the actual password. In not, then the cracker program moves on to the next dictionary word.
To enhance this process, "rules" can be added to the process.
A rules file contains a series of masks (usually written in a specific short-handed language) that are each applied to each dictionary word altering it in some way. For example, the dictionary word "password" might be modified to set each letter to caps which would generate 8 additional words to be checked. Another rule could append the numerals from 0-9 to the dictionary word generating 10 additional words to be tested.
The possibilities for rules is practically endless.
See the Reference section for links to password crackers, dictionary files, and rules lists.