Gamification is the usage of elements that are typical for games, such as points, badges, levels and leader boards, in non-game contexts. This can be in business software, any other software (e.g. educational software) or in real life contexts (e.g. if your kids refuse to brush their teeth you can turn it into a contest).
To explain the psychological basics of gamification, I will tell you a somewhat exaggerated story: Once upon a time, a group of settlers went out to hunt a dragon in the morning and came back from the hunt at night. They were exhausted from the physical exertion, but felt proud of their accomplishment because they saved their settlement from the threat of the dragon and had the head of the dragon to show as a trophy.
As modern office workers, most of us spend our days in the “great indoors,” more or less immobile in front of a computer. Compared to hunting a dragon, risks are low and goals are fuzzy. No matter how good we are at our jobs, there are hardly any trophies worth showing to our friends and family. As a consequence, engagement levels can often be fairly low. Never the less, people voluntarily spend hours and hours of their spare time indoors and in front of a computer to play games, be it a massively multiplayer role-playing game or just a simple round of solitaire.
So why is the engagement level so different between games and other software? Games set clear goals. They provide constant feedback on progress and rewards for achievements. It is clear how to advance to the next level. Games usually tell a story which keeps people engaged and evoke emotions, both positive and negative.
Now you know many of the main ingredients of gamification. Unfortunately, there is no universal recipe and adding points here, a leader board there, and spinning a story around a task do not guarantee that your gamification project will be successful. Like any other user interface project, you need to analyze your end users, your use cases and other determining factors to make a compelling game out of a mundane task.