I do 95% of my personal stuff on a desktop with a GTX 1070, often remoting into it from a laptop. Someday soon I'll throw a bigger GPU in, but the 1070 has served me well for years.
I find the sunk cost of building a machine encourages me to use it more. I don't mind running something for a week even if I have no idea if it'll work or not.
Same deal at work, but with much beefier hardware. In both cases, I'll spin up a cloud instance if I want some results faster.
Yes, the 1070 is substantially faster than CPU. Without benchmarking, I would guess 10-20x faster than a recent consumer CPU. In reality, unless you're interested in big NLP tasks or big computer vision models, a 1070 works just fine.
A 4090 might be 10x faster, so it turns a weekend job into an afternoon, or a month into a weekend, but plenty of real work can be done with a modest setup.
If I were building something from scratch on a budget, I'd look at the best 30-series Nvidia card I can afford. If you're using TensorFlow, TF32 is usually basically a free speed up, with PyTorch it's a bit less stable. You should be able to build a full system with a 3060 12GB for under $1000, or with a 3090 for under $2000.