A budget cap may well reduce the gap to the rest, but, as it stands, my understanding is Ferrari have the largest budget, Red Bull aren't far off and, for a laugh, Mclaren are still spending like a front running team. A cap would be a restriction, like any number of other regulations are, it's what you can do within them that counts.
Mercedes appear to have excellent strength in depth, as others have observed, and good management. Mercedes may lose some of their edge, but then their rivals, who are currently failing to beat them spending comparable, even larger, amounts, would also be pegged back. Again, there's no guarantees. Indeed, of the front 3, Mercedes may well be best placed to succeed in that climate. Merc more than any other team, maybe in F1 history, doesn't seem to be about any one, or few, men; Red Bull or Williams we all think Adrian Newey, Ferrari in the 00's was Byrne and Brawn under Todt. Mclaren was Dennis and Gordon Murray etc. whereas this team has went through a number of 'big names' that we might have thought 'ah, he was the guy' and yet they've rolled onwards. Costa is about to go, a blow I'm sure, but a mortal one? Seems doubtful.
It's a combination, Merc have excellent technical skill and excellent management, Ferrari undoubtedly have the skill, but their management has been questionable for a while now, Red Bull arguably have both too, but have been hampered by engine issues. Hoping Ferrari sort their issues out and finding a way to let Honda close the gap on the other engines is probably the best and most reliable way of having more competition up the front.