Uniform numbers haven't existed throughout baseball history -- the first team to wear them was the 1916 Cleveland Indians, though they quickly gave up the experiment.
It wasn't until the early 1930's when teams began wearing them again, in part to try to increase sales of scorecards (which conveniently had rosters -- "Can't tell the players without a scorecard!!", vendors would yell), listing the players and their numbers.
Since then, many teams, particularly the Yankees, have retired numbers for great players. The Cubs resisted this for years, but now have four: Ernie Banks, Billy Williams and Ryne Sandberg, all Hall of Famers, and Ron Santo, who ought to be in the Hall and may finally get his due this winter.
The Cubs have recently acquired two players -- Ted Lilly and Jason Marquis -- who have, during their careers, worn numbers that have been worn by Cubs who either are, will be, or may someday be in the Hall, and thus there's now debate on whether these new acquisitions should be assigned the numbers they've worn with their old teams, as is common practice.
The gist of it is that Ted Lilly, who's worn #31 for several seasons in Toronto, and before that in Oakland, will wear #30 for the Cubs, as:
But as far as Jason Marquis' St. Louis number -- 21:
"There have been no plans to retire No. 21," McDonough said.
Also exactly right, in my opinion.
Have at it.