I believe there are a number of issues leading to project failure, some are rooted in BA skills, many are not.
examples I have seen:
-dates agreed to before project scope defined
-system rewrites use old system as the model "make this look like that"--never works asa requirement
-users don't know what they want until they see it (design during test)
-SME's are stretched too thin during develop and test causing the timeline to extend
-programming resources not available during test phase--more bugs than planned are found and they cant be tested quickly enough
-not enough time allocated for adequate system and integration testing so it runs over schedule
-business needs drive project schedule (i.e a major new product release) and nobody negotiates project scope to something close to possible
-change controls are not used to adjust project when issues are found (often due to political climate, no bad news allowed, so project fails at last minute even though project team knew it was in trouble for some time)
-PM's that don't know how to ask probing questions and use intuition to get at real project status, so slippages are not uncovered
what are you seeing?
Keep Up with TechRepublic