However, I'm of the opinion that this is basically irrelevant. The severity of attacks on both types are not much different, and many cases they are the same -- because if the attacker has access to your system to steal it, they can install a process to continue stealing your wallet. I firmly believe that users' not having sufficient backups is a tremendously more significant risk to their wallets. As such, deterministic wallets are superior since they only require one backup at time of creation.
I agree. If an attacker has access to your system and you don't notice it, he can continue to download new copies of the wallet and if you do notice it, you can generate a new wallet and transfer your money over. So the ability of current wallets to unsteal themselves only applies if:
- The attacker waits rather than stealing your wallet's current contents.
- You unknowingly/accidentally fix the hole he/she used to break into your computer.
- You use up ~100 addresses before the attacker notices he/she no longer has access to your machine.
In high-security scenarios, a better alternative than a set of pregenerated addresses would be to simply create entirely new wallets from time to time. Whether these are deterministic or not makes no difference at that point.
At the same time for normal users a deterministic wallet makes it much easier to protect against a whole range of data loss scenarios. It's much easier to have secure, long-term backups if you don't have to constantly update the backed-up data. As long as it is implemented well, it should be just as secure against theft and much more secure against loss.