Developers should be aware that there is another method, .Recycle() that will send the file to the RecycleBin, and this is safer in most cases. Of couse if RecycleBin is disabled this method doesn't add any value i guess...
There are other cases that will delete the file for ever like sp workflow deletions but im not aware of more...probably those that internally use Delete().
There are some nice posts with more info on this @ sharemypoint, and its also good to read the SPFile documentation ;)