There are two main ways to crack a file (most programs will try both)
1. Dictionary Attack: The program tries words out of a dictionary, and variations on those words (e.g. replacing the letter O with the number 0). This is generally relatively quick to perform
2. Brute force: The program tries all combinations of letters and numbers until it finds the correct one. For passwords longer than about 6 characters this will be unviable on ordinary computers, as it will take days, weeks, months or years.
There are many programs such as the one posted, but all do similar things (albeit with slightly different dictionaries). In short, if it's a long password and can't be found with a dictionary attack, it's probably a lost cause.
This is why security saavy sites require users to use passwords at least 6-8 characters long, with a combination of numbers and letters.