I have a BSc in Computer Engineering and I'm finishing a MSc in Computer Science. The MSc has been useless other than for being able to start doing research. I could have learned additional things in 1 more year, without repeating most of the knowledge in the other year, and then start the PhD directly. Instead I did a MSc where for 1 year I mostly repeated old topics before starting working on really new things.
I think Masters should be highly specialized for people that after a Bachelor start to work but want additional knowledge for their position.
TLDR: 4 years Bachelors -> 4 years PhD is the correct route in my opinion. We messed up in Europe
I don't have a lot of experience with the US system, but from my experience after 3/4 years newly minted postgrads are probably not yet ready to knowingly commit to 5 years of specialised training. European-style MA/MSc's often feel "useless" because they actually help people switch course and find a new footing. However, good master's programmes are either flexible enough for advanced students to take more specialised modules or have high demands to begin with.