The NBA draft is entertainment. Both the lottery show and the draft itself get excellent TV ratings. IMHO that's why it will be retained. Same thing with the NFL draft.
Why not eliminate the draft in all pro sports? In baseball, half the good players (e.g. the ones from the DR, Mexico, Cuba, Venezuela etc.) aren't subject to the draft, and after the first 10-15 picks it's a crapshoot anyway. As to football, just say that the number of rookies a team can add in a single year is "x"and the maximum aggregate amount you can play those players is "y." The playing field would be level: rich franchises couldn't outspend the poor ones. Teams would have to make judgment calls as to whether or not to spend most of "y" on that star quarterback and the rest on lesser players, or to go with good but not potentially great players. Meanwhile, the players would have choices. If a guy always wanted to play for franchise "z" or a particular coach he might be willing to sign for a discount.
I'm sure I've overlooked some potential flaws, but why wouldn't something like that work in all professional sports?