1. When I've just delivered something of high business value
2. When the company is really needs me to deliver something of high value
3. Annual review
4. Right before quarterly/annual budgets
5. When I have a competing offer
I've asked for a raise, not too long ago, without any information in hand about competing salaries. That conversation did not lead to a pay increase. I found out -- not long after that conversation -- that the post-funding folks make substantially more than the pre-funding folks.
Salary aside, it is an excellent job. I enjoy working there, believe in the mission, and I am relatively unlikely to leave for a more lucrative offer. I think management knows that, which is why they don't feel the need to pay myself (or other early employees) market rates. Management pays the least an employee will work for.