This is a trivial reason for product failure, but also very common. You have finite resources to achieve product success. If you run out of them before you reach product success - you might not have a second chance.
Some might think this problem affects only startups. Sure, startups are very prone to running out of time or money before they can make their product successful. But the same could happen in an established company. Even if you create a product in the richest corporation on Earth, you still have finite resources. You need to show something for all the efforts or your product will be axed.
It's difficult to know how much time or money you will need to make a product successful, especially if you want to create an innovative product and not a mere copy of something that already exists. Yes, you can and you should estimate, but everyone needs to accept the limitations of this. Reality will check and most probably crush your estimations. And that's normal.
What you need to do is to start learning as soon as possible. Only real insights will help you better understand how much time and money you will need to get a shot at product success.
Less and more expensive ways to learn
When you have a limited budget and ambitious goals you need to be clever about the way you learn. You can't afford to just start building and hope you'll get it right on the first attempt. You won't, no one ever does. What you need to do instead is to identify your riskiest assumptions about the product you want to build and then learn about those risks by applying product discovery techniques.Having the most major risks addressed you could move on to defining the minimal marketable version of the product. You need to be ruthless here, remember you have limited time and money. You need to cut anything that is not core, which is optional to validate your product. The scope of your MMP should be much cheaper than your overall budget (both time and money). That's essential because it's a given you'll run into delivery issues and will need to refine that version of the product, not even once. Basically, the more runaway you have - the more attempts you have to take off before crushing.
Alternatively, if you have more time and money, you can allow yourself more attempts to get the product right. You can task various product teams to have their versions of the same product so you can see the different ideas and solution approaches. Famously, Apple tasked a few of their dev teams to work on the first iPhone keyboard in parallel creating an internal competition for the best solution. If you have enough resources to support such an approach - I envy you. The rest of us will need to be more economical with our limited time and money.
Failing once might not be the end
Some years ago, serial entrepreneurs were celebrated in our culture, even if all of their startups failed. Even more counterintuitive, investors were placing more trust in people who failed before. Why is that? Because those people learned, they already found ways that didn't lead to product success, they experienced operational insufficiencies, encountered obstacles and generated ideas on how to overcome them. If those folks are still passionate about solving the problem - they will have increased chances of success.So if you run out of time or money to create a successful product once, it doesn't have to be the only time. Find opportunities to get another go at the problem. Maybe in a different environment, with different people and at a different time you'll be more successful.