At the International Roguelike Development Conference 2008 held in Berlin, Germany, players and developers established a definition for roguelikes known as the "Berlin Interpretation".
These guys have extremely strict definitions, which mean that most "rougelike" games are in fact roguelites, if you care about what they think.
There are nine "high value" factors that are more or less a requirement:
Random Environment Generation
Permadeath
Turn-Based
Grid-Based
Non-Modal
Complexity
Resource Management
‘Hack-n-Slash’
Exploration and Discovery
Plus six "low value" factors that are less important:
Single Player Character
Monsters are Similar to Players
Tactical Challenge
ASCII Display
Dungeons
Numbers
There is, as you might expect, a fair bit of controversy about that though.