The larger storms consume and feed off of the smaller ones, which is what keeps them going and sometimes growing.
Jupiter has a lot of different weather bands moving in opposite directions, so there's no chance for a storm, once started, to lose steam by drifting off too far north or south. It's forced to stay within the narrow range of the weather band, which is just like a supercharged jet stream. Each of these jet streams carry thousands of storms within, and these storms don't really have the option of getting out of the way of the other. This is why they merge. This is why the Great Red Spot is so big. This is why it has lasted centuries.
So in a nutshell, the great red spot isn't the one same storm that has lasted hundreds of years. It's just a location where many smaller storms keep feeding together. The same thing happens on Earth sometimes (see: The Perfect Storm), although here on Earth they eventually die off.
Side note: A lot of people are using a hurricane reference, which is fine, but you don't need a land mass to kill a hurricane. All you need to do is remove the warm tropical waters it feeds off of (lots of hurricanes die off in the cooler Atlantic without ever hitting land). Hurricane Sandy, for example, wasn't a powerful hurricane (it was only a Cat 1 when hitting NJ). What made it so bad was that it combined with a low pressure system at the same time as high tide, and it did so under a full moon when tides are even higher than normal to begin with. This combination, not the hurricane itself, is what caused the kind of flooding (and the damage that followed) this area hasn't seen in centuries.
This is essentially what's happening on Jupiter. The sheer number of storms are high and these powerful, fueling situations continuously combine together to keep these storms alive and in many cases growing.