As much as I hate to admit it, free agency is appropriate in professional sports. Yes, I desperately miss the days where your players stayed the same year after year and didn't hop around the leagues like Easter Bunny wanna-be's. However, a person deserves some level of control over where they live and where they ply their trade.
Free agency provides a nice balance to the drafts.
A system based on drafts and free agency lives and dies by adherence to contracts. Players and owners must balance length of commitment, options, guarantees, salary, signing bonuses, and incentives in a mix that makes sense for that team and player at that time in the franchise's history and the player's career. Renegotiation destroys this system. Say a team commits long term to a young player. The guy is young and wants stability in his life, so he signs on for seven years at decent money.