Here's a little tale for you, it's the tale of a lost file.
I'm quite obsessed with backing up my files: I run a TimeMachine backup from my iMac to a local NAS drive, run Carbonite locally which backs up my entire machine to a remote location and in addition I also have a Carbonite subscription for one of my servers (the one with the most files on). Therefore what usually happens is that I create and edit a file (say a server script) locally, it gets backed up via TimeMachine locally, Carbonite pushes it into the cloud and if I then upload that file to the server it gets backed up to yet another Carbonite account.
Pretty solid I hear you say. Yes it is, unless you are a lazy fool like myself and often use Transmit to open a file locally directly from the server via right-click > open. That's convenient, right, because every time you save that file it gets pushed up to the server automatically, saving you from having to drag/upload that file before refreshing the browser to test.

So here I was working for several hours on a CFM script that did some complex ninja-level type operations. Finally I cracked it and everything was working as it should. Off to bed I go - having forgotten to pull down the server copy (which now was the latest revision) to the local dev machine.
The next day - and I clearly wasn't thinking straight - I dragged the local copy of that same file to the server. Poof. All the changes I made the day before were overwritten.
No sweat. Fire up TimeMachine and browse back a day... oh shoot, there's no local copy of that file since I made all edits on the server. The local Carbonite service would also have no record of it. A quick check confirmed that.
Well lucky me, I've got Carbonite on the server too so I logged on and... crap, the file was marked for backup but (for one reason or another) had not yet been backed up, maybe because the time window of that particular file existing on the server had been too small. Long story short, I had lost all the changes I made to that file the day before.

The lesson here: be careful when editing files on the server. Always make sure to 'commit' those changes back down to your local dev environment afterwards. and before you ask, yes I have heard of version control but whilst I keep most of my projects in SVN I did not do so with this particular one. And anyway, all things considered SVN would not have helped in this situation either... And I am aware that the title of this post is slightly misleading - I *thought* I had three backups, turns out I didn't have any :-)
BTW if you do not have a remote backup solution then I strongly advise you set one up. Local backups alone are useless if the worst comes to the worst and you have a fire, are burgled or similar. I can recommend Carbonite, but have also heard good things about Crashplan. My one gripe with Carbonite is the fact that the OSX client does not currently support backups versioning - however the Windows client does.

Stay safe folks.