Eliciting requirements is hard
One issue I often encountered, is that people tasked to eliciting requirements are not really the right one. In this situation there are several ways to do it wrong - you could be too business oriented with a lack of technical understanding, leading to impossible or very expensive solutions, you could be too technical, leading to superb technical solutions that don't address the customer needs, or be a useless office document filler.
What you need is someone able to understand the customer domain well enough, also with enough technical knowledge to "guide" the customer when needed towards a good solution, without forcing it into the wrong one just to sell or use one technology or the other. They need also to be able to communicate and manage requirements properly - especially requirements are not marketing brochures or letters to Santa Claus. People writing requirements MUST NOT come from sales or marketing.
These people are hard to find, and means you can't believe to be able to deliver any software project you may encounter.
Then you need proper tools to manage requirement lifecycle and their relationship with tests.
Unluckily, most of the tools I've used, even expensive commercial ones, are usually uncomfortable to use. Since they moved to web interfaces, even more so. We would need really "agile" - in the simplest and truest meaning of the word - tools - tools quick and comfortable to use, not tools that need more time to be cared for than actually creating the product.
I need something easy to navigate, manipulate, change, using several views and dimension at the same time, in different windows when needed, and everything kept in sync with local changes without roundtrips to a web server,l and remote changes when needed. Something that works as well with a mouse and without it, when your hands are both on the keyboard. I don't care if it doesn't have a phone app or a mobile-friendly site - I don't manage requirements on a phone, it's the worst tool.