Felonies are the most serious crimes, so these do not just come off your record after a matter of years, generally speaking. Some felonies like DUI do actually get automatically removed, but this is a rare exception. Most other felonies stay on your record until it is expunged by court order. Getting a court order for a felony to be expunged can be a long and arduous legal process.
The period that a felony gets to stay on record depends on the type of felony that was committed. It also depends on the level of severity. Basically, if it is not expunged or the records are not sealed, it stays on your record forever.
A felony generally stays in one's records unless it is applicable for expungement or sealing of the felony of records. In the United States, the expungement laws differ for each state. For instance in New Hampshire, a class A felony record may be eligible for expungement after 10 years after the convict has met all the requirements. Read more about expungement on http://www.ask.com/wiki/Expungement.