It's incredibly obvious, but usually neglected -- you need to spend less than you take in to accumulate cash.
Most people do not give this much (any?) thought, or at least don't take action on it. So, they tread water. Or worse, accumulate debt.
If you're able to spend less than you earn and bank the difference, your cash position goes up. This puts you ahead of the vast majority of people already.
But, then you can wind up in a tricky position.
Especially once you become good with money, you realize you can turn it into working capital at a pretty good rate. Someone who has spent some time learning the in's and out's of a few marketing channels, or technology, or throwing great events, or... whatever... can then turn free cash into useful production, which turns back into cash, at a good clip.
While someone saving money without any active development activities is lucky to make a 15% return, it's not at all crazy that someone with 5 to 10 years of experience in profitable business can turn cash into a 50%, 100%, 500%, or higher annual return when mixing the cash with their own labor, by seizing opportunities, and so on.
This is not all good, though. Once you reach the point where you're making very good business decisions with money and regularly seeing your deployed cash turn into more capital and cash, it can be very easy to get neurotic about spending.
For someone who just earns income and spends it to enjoy themselves right away, that's it, there's no need to think any further and they can have a good time.
For someone who knows they can turn every dollar into many dollars more -- and enjoy the process -- then you're not just spending what you're spending. If you go to a fancy restaurant and an amazing dessert is $25, that's not just $25 any more. That could alternatively be $25 of capital that you use to build more stuff with.
Worse yet is if you're good at math. With any semi-regular purchase, you do this:
"Hmm, this is $4. But I do this every weekday. Hmm, 5 weekdays x 52 weeks x $4 = $1040. That's $1040 of capital I could use. Hmm."
This is an awful place to be. Every single decision you make gets self-scrutinized. To one extent, this is good because you'll wind up banking more cash and have more working capital. But it's very, very bad in a particular sense --
Thought cycles, mental energy, and focus account for far more value than cash can. While banking a lot of cash can do wonders for your life, doing so haphazardly and constantly thinking about preserving money can be disastrous for creativity and productivity.
There might be exceptions to the above. If your craft, trade, profession, or business is basically on autopilot and you have a ton of free thought cycles to burn, you can obsess over every decision.
But if a single set of great decisions and actions can skyrocket your income, productivity, and reaching what you want to reach in the world, then you can't be burning thought cycles over every individual purchase.
The answer is probably to set up spending rules, and live comfortably within them.
This would "satisfice" your cash-banking and spending, as opposed to constantly locally trying to maximize it. You might choose to put 10%, 40%, or even 90% of what you earn into an investment account to deploy for business activities, and divide the rest of the cash between your various activities.
Budgeting works extremely well, even though they're hard to stick with. But starting further upstream, and taking your investment/capital cash off the top before you start spending is key. Creating a framework that you trust and like operating in means your thought cycles can go towards more creative and productive activities, and also to activities you enjoy and to your family and social life.
Thinking over every individual purchase and running the math is incredibly mentally taxing. Set some rules that work for you, live those rules, and you'll be ahead of the vast majority of people in terms of deploying income well, and you'll still have your thought cycles intact for doing what you love and what you're best at.