> if you have candidates that have the same job with wildly different salaries
How do you classify something as the same job versus a different job though? Two developers may have roughly similar responsibilities but one may be much better than the other. And it would be reasonable to pay them more in those circumstances, but it's very hard to quantify that objectively.
Also, Google is a huge company so they can advertise 5 jobs at different levels and fill them all. Whereas smaller companies may want someone and not be too sure about what level they need: it may depend more on who they can get. They can't afford to be too picky.