Not necessary to do it at all for incoming transactions, or on every outgoing transaction.
Your wallet has 100 private keys (and therefore 100 receiving addresses) in it to start (assuming that DRK does the same thing that Bitcoin does, which I'm pretty sure it does). When you receive coins to any of your wallet addresses, nothing changes. When you send coins from a wallet address, if that transaction does not exactly equal the amount of a previous incoming transaction, or the sum of previous incoming transactions (e.g. say you want to send 5.000 DRK, and you have an incoming transaction of 5.000 DRK, or two incoming transactions of 2.500 DRK) then it will use up a new private key to create a change address. So say you have incoming transactions of 10.000 DRK, and you want to send 4.000 DRK, it will create a transaction with 4.000 DRK to the recipient and 6.000 DRK to the address belonging to the 2nd private key in your wallet. It will also generate a new private key, so you now have 101 private keys in your wallet. Each outgoing transaction which creates change will use up a key/address from the top of your wallet file, and add a new key/address to the end of your wallet file.
So technically you could get by with backing up your wallet only once every 100 outgoing transactions. To be on the safe side, it's not a bad idea to go ahead and back it up every outgoing transaction, or 5 outgoing transactions, or 10 outgoing transactions. Depends on how often you send DRK.