When I visited the kernel.org website to download the latest Linux kernel, I noticed a package named
2.6.37-rc5 in the repository. What is the meaning of the "rc5" at the end?
By convention, whenever an update for a program is almost ready, the test version is given a rc number. If critical bugs are found, that require fixes, the program is updated and reissued with a higher rc number. When no critical bugs remain, or no additional critical bugs are found, then the rc designation is dropped.
The current Linux release cycle works like this: Say 3.7 is released today, that opens around 2 weeks of "merge window" (Linus accepts new features that have been tried elsewhere, in experimental trees; most of the activity leading up to 3.8 happens here). Linus releases 3.8-rc1, closing the merge window officially, after this he accepts only (almost) bug fixes to what was merged. Sometimes stuff that was merged is taken out again, rarely new stuff finds its way into the kernel. Around each week Linus releases 3.8-rc2,-rc3, ... continuing until he is satisfed that there are no new bugs, and releases 3.8. Then the cycle starts anew. The cycle takes around 8 weeks, so it goes up to rc6 or so, but sometimes the period between rc's is shortened, sometimes stubborn bugs make the whole cycle longer.
After 3.8 is released, it is taken over by the stable team, who collect bug fixes for serious problems and minimal impact, and release 3.8.1, 3.8.2, ... There is no fixed timeframe for this, and once 3.9 comes out there is no more 3.8.x.
There are also longime support versions, mostly for the benefit (and under maintainership by) the enterprisey distributions or people in the embedded area, currently maintained to some degree are 18.104.22.168 and 22.214.171.124 (old numbering style), 3.0.63, 3.2.38, 3.4.30.