On the other hand, not all departments are good fits with students and there's a very wide asymmetry in information between many new students and programs, even if you "do your research" beforehand, given just how specialized these disciplines are at a high level. It would be nice if transferring programs was made easier and if more departments would just agree to help students "master out" and look for jobs rather than discard them like roadkill.
In my program we had annual committee reviews as well as a review submitted to the program chair and graduate school of the student by their advisor (with the student providing both a self-review and review of their advisor). Ultimately, unless you’re in a sub-field with many faculty, it is hard to get an accurate evaluation from three professors. My other committee members could understand the big picture of my work but they weren’t experts on the specifics, and they were the best equipped faculty in the department to be on my committee besides my advisor. The goal is to make sure that there is a paper trail and multiple professors aware of your progress (or lack thereof), so your advisor can’t just give you the boot for something tertiary like not watching his dog during a holiday weekend.
Professors are aware of their problematic peers in the department. Even if they can’t fire them outright (tenure has pros and cons), they can steer students away from them to more supportive professors (or give you a hint that maybe you should consider a different school during your visit day). Our program chair was very good at helping relocating students who initially started in the lab of one or two bad actors.
If the advisors can vouch for, or strike a student regardless of their qual performance - then why not simply have an end of year performance review?