As Erica mentioned earlier, Elgato's EyeTV hardware/software bundles will let you record your TV programming, either over the air or via your cable/satellite box depending on the exact product and setup you have. The latest hardware from the company is the EyeTV HD, which will capture HD video off of any source with component outputs. EyeTV also works well with third-party hardware from Plextor, Hauppauge and other tuner manufacturers. I've been happily using the EyeTV software for a few years now.
For me, an essential part of the EyeTV experience is the addition of a free plugin called ETVComskip, a "com"merical "skip" program ported from comskip.
After EyeTV finishes recording a TV show, ETVComskip automatically scans through the file looking for commercial breaks, and it marks them. The image above is the finale of LOST with the commercial breaks marked. ETVComskip successfully marked all of the commercial breaks (and there were a lot of them!) although I did go through and adjust some of the start/end times. Having them automatically marked, even if you have to do some manual adjustment, is a huge time saver. You can then export the video from EyeTV and the commercials will be automatically removed.
If you want to watch the shows you have recorded in EyeTV right on your Mac, you can install PyeTV which will integrate EyeTV with Front Row. When EyeTV shows are played back through Front Row, commercials will also be automatically skipped.