I understand that ĝis means "up to", or "as far as", and al means "to", but when must one change between the two? Take Duolingo's example:
Mi vojaĝas tra Germanio ĝis Pollando.
Why would one use ĝis here?
al sets the general direction or target, ĝis sets the limit of movement. In some cases you can use any of them, but inserting ĝis you actually specify an end point to your movement, so in your example I stop when I reach Polland. Sometimes you can use both at the same time, as found in "La Faraono" (Zamenhof):
La granda sinjoro elkuris renkonte, al la monarĥo ĝis la pordego kaj, demetinte de l’ piedoj multekostajn sandalojn, surgenue helpis Ramzeson malsupreniri.