I have two lists I've collected which also correlate well to an informal survey of IT Project Managers at a PMI ISSIG meeting in 2001:
According to the Standish Group, the top 10 reasons are:
1 Lack of User Input
2 Incomplete requirements/specs
3 Changing requirements/specs
4 Lack of Executive sponsorship
5 Technology Incompetence
6 Lack of resources
7 Unrealistic Expectations
8 Unclear Objectives
9 Unrealistic time frame
10 New Technology
According to a study by Jiang and Klein, the top 9 reasons are:
1 Project Size (# people)
2 Application Complexity
3 Technology Acquisition
4 Insufficient Resources
5 Lack of team expertise
6 Lack of user support
7 Lack of user experience
8 Lack of clear role definition
9 Intensity of conflicts