Well, I'd like to offer some solutions that worked with my gaming group which ran and completed a 4 year long campaign despite lots of obstacles (missing players, deaths, illness, vacation, girlfriends/boyfriends, etc).
1. Secondaries
My group were all friends or friends-of-friends, and everyone was comfortable declaring a "secondary" - backup player who had the best understanding of the PC. When a player ended up playing a secondary role, we made sure they had no other distractions (e.g. not designated note-taker, mapper, etc). The plus side was it encouraged players to think more (or at least as much) about their group than their individual PCs; it also helped that we used the "Heroquest" template for the PC band, giving them a name, patron, banner, etc. The downside was that even the best player might do something "the PC would never do", and there's always the problem if the secondary doesn't show up either.
2. The Internet
When the periods of time between play become too long, everyone starts to forget what has happened, names, places, etc. Dedicated players and the DM may feel like they're sitting on this great plot and never get to play it. I found the internet (e-mail, IM, message boards) as a useful tool that players could use in the interim. I even gave players a small EXP reward for posting & reading during a break from play.
3. Plot Discrimination
Some groups have one or two players who are more likely to miss game sessions due to a job where they're on call, a sick relative, etc. It's a good idea to cast them in supporting roles, and not make any big over-arching plots dependent on their presence. They get to play the sidekicks & allies of the other PCs.
4. Help a Brother (or Sister) Out
I remember countless times when some real life obligation got in the way of our game. Jarett had to clean the garage, so we helped him. Vishal had to make dinner for his ill family member, so we helped him. I needed to install a new drip system in the garden, so they helped me. More hands makes the work go faster and is more fun, and gaming comes quicker. And of course, that's what friends are for.
5. The Other Side
Sometimes when I was stumped or frustrated by how to work around a player's absence, we ended using a different set of characters, either low-level comic commoners or villains. The plus side was that it gave the players a different vantage point, put emphasis on the story over individual PCs, gave reason to hate villains even more (or to sympathize with them), and sometimes was hilariously funny. The down side is that it takes some preparation to pull this trick off without feeling disconnected from the main story.
6. In-Game Reason for Absence
Perhaps the weirdest experiment we tried was allowing the absent player (or the other players) to come up with an explanation for the PC's absence. For example, a player might write down on their character sheet "If I can't make it to a game session, Alhandria has been summoned by the mage who possesses her soul stone to perform a service." Alternately, the other players might decide that Alhandria has become possessed by the evil spirit she foolishly tried to tame last adventure and she is entrusted to a convent to be exorcised while the PCs seek out an evil wizard who holds the evil spirit's leash. This was really fun, but once or twice the absent player was a bit miffed, then again they knew it was a policy I was using and not discriminating against them.
Ok, so those are some ideas. Cheers!
EDIT: YOu might also check out this thread in which I posted some ideas about handling overland travel in alternative ways (see below). I didn't mention it there, but adding flavor according to the PC's mode of transportation is a good idea. For example, haggling with the camel dealer when trading your horses for camels.
http://www.enworld.org/showthread.php?t=142471