Sorry, I started a post to discuss what you should do in exactly that case, but got interrupted by a phone call before I could finish. Naturally, that gave you the opportunity to get tripped up by my incomplete advice :-)
If you have your repeats set up with "Repeat every", when you complete one that is overdue, you'll get the new one at the date/time at which you would have gotten it had you checked the original off on time. Sometimes that is what you want (if it is important that a task take place the right number of times), but it's a nuisance when you don't want it. When you don't want to repetitively tick off "walk the dog" 14 times to make up for the week you were out of town, the best option is probably to just reschedule those tasks. The way I usually do that is with Dan Byler's
Defer script. Select the actions you want to reschedule, run the script, and put in the appropriate number of days to get it into the right time frame. This works best with a scenario where you've been gone for a known amount of time. In your case, where you've been off the wagon for months, you might instead want his "Today" and "Tomorrow" scripts, found
here.