First, don't make it such a hassle. That just makes people think even less of you. If they have to go out of their way to cancel, their last memory of your service is going to be that it was a pain in the ass. Same goes for long surveys (a short set of two or three questions is ok).
Second, be wary of bribing them to stay. That can be great, or look desperate. Try to phrase it more like 'Would you be interested in trying a free month of premium service to see if that better suits your needs?'
Third, make it clear whether you're deleting or disabling their account. If you're deleting them and everything they've ever uploaded, specify that, and perhaps give them an opportunity to get their data off your server (export the account?).
If you just mark an account as 'disabled' in the database (because you need to refer to them for uploaded pictures, or whatever), ensure that you state this explicitly. If you need still to refer to their account, you should wipe all details you can from their account – birthday, phone number, favourite cheese, and so on – and specify this explicitly too. Ideally, you should wipe all the data and rename it to 'Anonymous 7120' or something.
A lot of information that you might ask in the survey you might want to be able to get from internal analytics anyway – such as how often they used the site, what features they used, and so on. You might ask them why they're leaving the site (rather than just ignoring it). Were they getting too many e-mails about your service or whatever? Was there some legal liability? Privacy issues? Trust?
Whatever the issue, ask if they're content to just fix it. If it's too many e-mails, offer a button that disables all e-mail notifications. If it's privacy issues, offer to erase their personally identifying information, etc.
Without knowing what your site is, it's hard to know what exactly to ask, but if you just put a little box saying 'We'd appreciate a few short words on why you're leaving us before you go', hopefully the answers will give you a better idea of what kind of probing questions to answer. Also put a checkbox asking if they wouldn't mind a follow-up conversation about the site by phone or e-mail, and if not, have someone talk to them to get a better idea of how they felt about the service.
Hope some of this helps.