The MLB draft, despite not being anywhere nearly as marketable as the NBA or NFL draft is so much more complicated and comprehensive than any of the major sports.
Some will say that you draft for BPA over need in baseball more than any other sport, yet teams will cut deals with guys at the top all the time so they can spread the money around.
Literally, this is how we ended up with Marcelo Mayer. The Pirates literally drafted Henry Davis at #1, Davis was in everyone's top 5 but almost no one had him going #1 until it was rumored the Pirates were looking to cut a deal at the top. Then teams below often stay with their predetermined Picks, Texas likes pitching and stuck with what was largely considered the best pitcher in the draft in Jack Leiter, and the Tigers effectively already had a deal in place with Jackson Jobe, then Marcelo was right there for us.
It's not very uncommon for the player who is highly regarded as the #1 player in a draft to go somewhere else in the top 3 or 4.
Sometimes you end up making that decision and the guy you spent less money on ends up being the better pick as well. In the 2012 draft, Bryon Buxton was unanimously considered the top talent in the draft. That didn't stop the Astros from taking Carlos Correa and saving 1.2 million dollars.