Now, we have moving maps that scroll at whatever speed you're driving or moving, and arbitrary, smooth zooming, so you can't just let an algorithm take hold or you get labels popping in and out as the logic decides in real time where to put them. Users will find it distracting and weird, and most designers will say "no way". So you need to add things like debounce and hysteresis. You have to have resolve label conflicts in a way that doesn't always let (for example) POI names always take precedence. You have to determine whether/when to display street numbers vs street names. Do the locals call it I-880 or "Nimitz Freeway"? You have to keep labels right side up at arbitrary map rotations and along twisty road geometry (easy but yet more code). It adds up and requires these fiddly thresholds and scaling factors that are usually hidden from the user.
As someone else pointed out, having sliders and preferences for every little tuning knob is always a no-go with the designers, who want everything to just magically work without configuration. As a programmer, I've always thought that "design minimalism" is cancer, but on the other hand, it provides constraints and makes the problem interesting to solve.