There are a couple of times when you may have to wear your away kit when playing at home; for example:
If you are hosting a tie that is an "away" fixture, but the other team have elected to swap grounds (which could happen in the early rounds of UEFA or Worthy Cup). In that instance, they may insist that they swap grounds as long as they wear their home kit...
The other situation is when the opposing teams Home and Away Strip clashes with the Home teams kit. In the case of some smaller teams from the continent, they may not have 3rd strips. Here's an example:
Away Team Home Kit: Red
Away Team Away Kit: White & Red
If the referee deems that the opposing teams away kit is too similar to the Home kit of the hosting side, he can make the home side wear their away kit. Ultimately, it is the referees' call so as to reduce the likelihood of confusion on the pitch.
This season, for example, if we did not have the 3rd strip (last years' yellow away) then Southampton and Sunderland would have been forced to change strips in their home fixture because both our home (red) and away (white) would clash. This is the reason why third strips were introduced. Although some teams bring out a new 3rd strip nearly every year, most clubs demote last years Away to a 3rd. The only exception to this rule is if the sponsor/manufacturer of the shirt changes, and the club may have to introduce 3 new shirts, Home, Away and 3rd in one year. If they are particularly money-grabbing, they may introduce a Champs League shirt too - 4 new shirts in one year. Although there are FA rules over how many shirts you can bring out - a change of sponsor on the shirt is not deemed a "new" shirt as long as the basic shirt design remains the same. If it is a change of manufacturer, they are urged to introduce a design that is similar to the one they are replacing. (Difficult without infringing copyright!!) So, often they are the same colour and general style.
It's nearly as complicated as Champions League qualification tables.