Going with the flow or doing what the heart wants at any moment might sound really lucrative but can put you in a position where you never wanted to be, sometime in the future.
There's always more than a single way to solve a problem.
Amongst all the different approaches to solving a particular problem, one exists which will give you the ripest fruit of your labour.
Instead of jumping on the very first thing that comes to your mind, cool down and think of the various ways your current situation can be solved.
Can there be a more profitable approach than the one that came first to your mind?
The problem with impulses is that when we rush, we often overlook various aspects that might help us in the long term. We only think short-term when we have adrenaline pumping through our body.
A sweet example of this would be settling for the first job offer when you're looking out for a change because you don't have the skills to chase a better job at that moment, even though you know you're settling for something that is way less than what you want.
What would be better is to wait a few months, gather a few more skills and then apply. You'll be able to land the job you always wanted.
You don't have to settle. Get the best. Be patient.
This, however, doesn't mean that impulses are always wrong. Sometimes, your gut feeling can get you far. Take a decision based on your impulse if you really really have a strong gut feeling about it.
For most cases, just think about what you're doing. Don't take a bad decision in haste. Give your brain a chance to analyze the situation and deduce how to make the best out of it.
Your brain is much smarter than your heart. Use it.