Update 2017: I recommend using GMVault for backing up Gmail. It’s free, open-source, actively maintained, and relatively easy to setup if you’re technically inclined.
Like all hosted services, you should never depend on one provider to both manage your data and also back it up. I have 20 years of email in my Gmail account (that I migrated from previous providers) and I’d be pretty sad if I were to lose it.
As some users have discovered the hard way, if your Gmail account gets compromised and your email is deleted, you’ll likely never get it back unless you have an off-site (outside of Google) backup.
One great service that does this for you is Backupify and their free plan will backup mailboxes up to 1GB. I personally love cloud data but prefer local backups so I use Getmail which is a little Python script to download my email. Here’s a more detailed post on how to setup Getmail by Matt Cutts. That said, I have my script backup my entire mailbox (instead of just my inbox) and I use IMAP instead of POP so here’s my getmail.gmail config file:
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
username = firstname.lastname@example.org
password = mypassword
mailboxes = ("[Gmail]/All Mail",)
type = Mboxrd
path = ~/gmail-archive/gmail-backup.mbox
verbose = 2
message_log = ~/.getmail/gmail.log
read_all = false