In DragonVale for the iPhone and iPad, the Rainbow Dragon is one of the rarest of the epic rare dragons in the game.
To breed a Rainbow Dragon, you need to breed two dragons that have a total of at least four different elements combined. For example, a Glacier Dragon has Earth and Cold elements, while a Firefly Dragon has Fire and Lightning elements, so this combination has a chance to produce a Rainbow Dragon. There is no guarantee however, since it is still a rare random chance.
Breeding two Rainbow Dragons together however will always result in another Rainbow Dragon, so you can use this as a farming technique to sell them and make quite a bit of money.