How can I use iCal and the iPhone calendar when I am travelling?
I think you might want to try the "floating" time zone; I believe this will let an event be at a specific hour, regardless of the time zone.

(As for why use time zones at all: We have an office in Zurich, Switzerland, and one in New York, US, and we share some of our calendars; having time zone support means, as an example, that I can see at a glance if somebody's at a meeting in New York (and thus I should maybe call them later).)

PS: Also see Changing the time zone for an event, but note iCal: Floating time zone Calendar events are not supported on iPod touch / iPhone or MobileMe Calendar; iCloud supports "floating" (just tested), not sure about the iPhone...