I'm actually surprised there isn't more discussion on this. I've actually restored a backup only a handful of times since I've been rooted (guess i've been lucky). I had the same question myself a while back and wanted to see what would happen if I wiped data/cache before a restore thinking I would have to start from scratch again. After the wipe and restore everything was back from that original restore (apps, data, homescreen setup, etc...). That led me to believe that if I had to restore a backup because something was corrupt, it might be better to wipe before restoring. The con being that it rolls back all your data to that point and having to update a lot of apps and redo tweaks if that backup is from a while back. This is why I make a backup everytime I change something or after a few updates from the market.
Now this brings me to another thing. Everyone says to wipe data/cache when switching to a new rom. I am a huuuuge believer in this. Hell I always wipe even when it's just an update to a rom. It's almost a surefire way of preventing a lot of bugs. What I'm getting at is that wouldn't it be a good idea to wipe data/cache before restoring backup of another rom?? For example, I am running Sapphire and wanted to restore a backup of Cyanogen. Techically I'm flashing a new rom to my phone so I'd definitely want to wipe. I could be completely wrong with all my assumptions here but there's nothing wrong with playing it safe.