The reason they exist is because the organization values (or is subject to mandates for) documented requirements, and doesn't want programmers to have to bother with the tedious work of developing and maintaining them, focussing on actually developing the software.
Was this always the case though? Perhaps my position is colored by my experience working for a former IBM manager who thought of programmers as those who “just write the code” based on the requirements written by the “more senior” business analysts.
That particular experience reeked of superiority of managers, project managers, and the business analysts who worked directly for them. I admit that my experience could have been anecdotal, however I’ve asked several senior programmers who were active in the nineties who have confirmed the relationships were by and large toxic at the time.
The second generation of dot-coms that succeeded centered developers as domain experts and essential to company survival (broadly-speaking; there is certainly variance).
It wasn’t slavery by any stretch, but working in programming was akin to working in “IT” and thought of as a department full of weird nerds who cost the company money.