Players are draft eligible from 18-21 years old. If they go undrafted and become free agents, they are still subject to entry level salary restrictions for 1-2 years, depending on their age when they finally sign. I guess it depends on the player, but I wouldn't say that its better to go undrafted. There are a couple years of lost wages. On top of that, if they had been drafted and signed a contract while younger, the player would be out of the entry level system earlier, which means that there is no longer a cap on what they can make per season.