When do I have to backup wallet.dat? Is it obligatory to backup wallet.dat after each outgoing transfer?

I understand it is, but not after each incoming transfer.
Every 100 transactions, counting both sending and receiving. For receiving, you can treat multiple transactions to the same address as a single transaction.

This ensures that you don't lose any bitcoins if, for example, your hard drive crashes.

The option keypool in Bitcoin-Qt client adjusts this.