Both have stunning scenery on the drive in and out. The highway to Skagway is busier as it winds in and out of craggy mountain ledges. The highway to Haines is quieter and has you driving along mountain passes with tundra for scenery.
Skagway is typical tourist town, catering to cruise passengers. Haines is typical coastal working town.
The White Pass & Yukon Route train is an interesting daytrip from Skagway. It can also be taken from Whitehorse (combined with a bus portion).
Taking the ferry from Haines to Skagway is a good option. Costs about the same as buying fuel for your vehicle to drive to Skagway.
Skagway is the place to see. For the best prices on tee shirts, etc. go all the way down to the end of the main street to the Shirt Store. Take in the Days of 98 Soapy Smith Show... amateur show, but fun.