I'll talk about my work on developing Essentials.
I make backups every so often. I call each backup a snapshot (much like Minecraft's updates), to differentiate them from versions (which themselves are just snapshots that went public). Version 15.1 of Essentials was actually snapshot number 118, which means I make about 7 or 8 snapshots per version on average. I keep every released version of Essentials on my computer (in their rar forms), along with the most recent dozen(ish) snapshots (which are simply copy-pastes of the project folder, not zipped or rar'd). I delete older snapshot backups to save clutter, and as mentioned, all I keep of the older versions of Essentials are the rar files I upload for everyone to download. I keep all my backups in a folder on my computer, along with the current snapshot - I know a hard drive crash could ruin everything, but I'm not that cautious.
I don't make a new snapshot (i.e. copy the current snapshot and carry on development in the new one) at regular intervals. I make them after a sufficient amount of work has been done on the previous snapshot. If there's a big task being done (e.g. "update AI" or "update/add all item effects"), then I'll finish that task before making a new snapshot, thus keeping all of the changes caused by that task in a single snapshot. Of course, I almost inevitably make changes to that work later on, due to necessity or remembering/discovering something that needed to be done in relation to it, and that's fine; I don't mind that those amendments are in a later snapshot. Some tasks are bigger than others, and some snapshots aren't associated with particular major tasks. In all snapshots, in addition to the main thing(s) I was doing in it, I'll also make (typically) minor unrelated changes, such as a few bug fixes, as and when I come across them. I don't do too many different things in a single snapshot, though (and by that I mean major or significant tasks; I don't care how many bug fixes or small things I do in each one).
I have a txt file, in which I keep a record of the changes I make in each snapshot. It's in the same format as the change log on the Downloads page of the Essentials wiki, and there's a separate section for each snapshot. I try to record all the changes I make, although they're at the same level of detail as you can see in the wiki's change log (certainly not that descriptive for bigger tasks), and some minor changes like moving around a bit of code may not be recorded at all.
I find this approach works for me. I've never had to revert to a previous snapshot and start afresh, and I've only infrequently needed to refer to an earlier snapshot or version to check/compare code. I record as much information as I need to inform me about what I've done, and I suspect that may be less information than many other people need. What records you need to keep depend on what records you'd need to refer to later on.
I think I stayed mostly on topic there. Backups are incredibly useful for everything. If you're using Essentials, then an untouched copy of it should be considered your very first backup - keep it around.
I'd recommend making a backup every time you make a significant change to your project. Decide for yourself what "significant" means. Backing up at regular intervals (e.g. weekly) isn't as practical, as one week could have little or no development so there's no point in making a new backup, while another week could have a huge amount of progress which would be that much more of a pain to wade through if you need to.
Record all your changes. For code changes, I recommend that you put a comment on every single line you change, so that you can easily find your changes at a later date (e.g. when you want to update to a new version of Essentials). Ideally, you'd put any new code in their own script sections, rather than blending them into the existing script sections, because again it's easier to distinguish which are yours and which aren't. For file changes, keep a note of them.
Your project isn't the only thing that's worth backing up. Your various documents and graphics that contain designs and ideas can also be backed up.