How should you backup your wallet? How often? Is backing it up once enough?
Any best practices to storing the backup?
The file you'll need to back up is wallet.dat which can be found in %appdata%\roaming\bitcoin on Windows or ~/.bitcoin on Linux/MacOSX.

By default a pool of 100 pre-generated, unused addresses is maintained in your wallet, and so it is safe to use 100 new addresses without backing up your wallet.  New addresses are used most times you send bitcoins and used as a "change" address, and also when you request a new receiving address. As you use new addresses, more are generated and added to the end of the pool.  Once you've used 100 since backing up, you'll start using addresses which aren't in the backup. To this end, the frequency of your backups is largely determined by the frequency of your transactions and this is largely a personal decision. If you absolutely cannot manage a backup every 100 transactions (why?) or are comfortable with a more aggressive schedule (and smaller wallet) there is a -keypool option to change the number of addresses pre-generated.

Best practices for storing wallet backups almost always include encryption. Most folks in the community swear by tools like TrueCrypt for such purposes, though there are countless alternatives. Storage of the backup depends largely on how long-term the storage is intended to be and the security levels necessary. For small amounts of coin and short-term backups, online services like DropBox or Mozy might be adequate, assuming the wallet is encrypted before uploading. For longer-term or higher security backup, coins might be sent to an offline wallet stored in paper form at a physically secured location or any variation between.

Regardless of your wallet backup methodology and schedule, it is ALWAYS a good idea to take some basic measures to secure your wallet.