I think it's fair to think of yourself as a carpenter. Devs talk a lot about this being a craft. You build to spec but point out problems when the spec is not possible or silly.
It's the business's jobs to know how to explain the business and their needs. If they can't explain it, they probably don't understand it. If they do understand it but can't explain it, they probably need to work on their soft skills. You're also going to learn the business implicitly if they're explaining it well.
You could be a developer that also knows the business, but where's the compensation for going the extra mile? Especially when the layoffs come around. Another perspective is if you have time to work the business side, what could you have been working on technically to improve things? So there's potentially an opportunity cost too unless everything is currently as optimal as it can be.
It just happens that two of my good friends are carpenters. And they are highly aware of the business. They have to be in order to ensure they have work as construction and remodeling and other types of work ebb and flow. It’s precisely when the layoffs come that it is valuable to understand the business. You are absolutely right that ideally the business people understand and explain the business, but are you really going to trust your livelihood so completely on that? Sometimes their job is to keep you working, fixing bugs, adding features, until they reach the point they can lay you all off (this pretty much happened to a bunch of my friends at an early job).
Furthermore, just building to spec suffers from the Henry Ford problem of the customer asking for faster horses. Unless your business people understand the tech as well or better than you do, it is very likely you can improve the product more if you understand the business than if you just do what you’re told. This does not have to be very time-consuming, and ideally your manager helps, but just paying a little attention, spending some time with people in other disciplines, can have huge payoffs.
It's the business's jobs to know how to explain the business and their needs. If they can't explain it, they probably don't understand it. If they do understand it but can't explain it, they probably need to work on their soft skills. You're also going to learn the business implicitly if they're explaining it well.
You could be a developer that also knows the business, but where's the compensation for going the extra mile? Especially when the layoffs come around. Another perspective is if you have time to work the business side, what could you have been working on technically to improve things? So there's potentially an opportunity cost too unless everything is currently as optimal as it can be.