How many addresses does my wallet.dat contain? Do I need to make a new backup every time I make a transaction?
By default, Bitcoin Core creates 100 addresses the first time it starts, and tries to keep 100 not-yet-used keys in wallet.dat 'keypool' (when you unlock the wallet to make a payment it will generate more).

So you do not need to backup continuously. The 'getinfo' RPC command will tell you the time when the oldest not-yet-used key was generated ('keypoololdest').

Any wallet backup created after the keypoololdest time will be good enough to recover all of the bitcoins sent to your wallet, but I'd suggest you figure out about how long it will take you to send and receive 100 transactions (e.g. two per day would be 50 days) and then backup about twice as often as that (maybe once a month if you're making 2 transactions per day).

Be sure your backups are encrypted with a strong passphrase, and make sure you store them someplace off-site that is safe.

And for long-term storage of more than one or two bitcoins, use a hardware or paper wallet.