It's important to know when you should stop trying to achieve a goal. Many people love to refer to this quote from Albert Einstein "Doing the same thing over and over again and expecting different results is stupid".
As an example of this quote let's look at a Software Development project that is trying to achieve it's objectives by following the traditional/waterfall Project Management Methodology. If you tried this 5 times before and you always struggled to deliver what you set out to deliver then it's time to realize that something needs to change. You might have changed your approach to an agile Project Management Methodology and realized it wasn't quite the smooth ride you expected. That means even though you changed the approach it was not really successful, maybe it even was a disaster. Does that mean you can't do any projects anymore because neither approach worked? It doesn't mean that you give up (!) but instead of following a certain approach you have to adjust it to your needs. For me there is a difference between being persistent and being delusional. If a certain approach doesn't work then you have to be innovative and try something new. You have to stop wasting precious energy on something that doesn't work. You don't want to do that without really trying but you also don't want to wait until it's too late. Always check your approach as often as possible to see if something needs to change and determine what needs to change. The timing for these checkpoints depends on your cicumstances, but don't be afraid to stop one approach and switch to something more promising. Just don't give up to find a solution!