I've been to all of these ports this year on cruises. I have a lot I could write but am pushed for time right now so will write what I can quickly. What cruise line are you sailing with?
Vigo- do a trip if possible, it's mainly shops and it's a fishing port so not as scenic as some of the other ports. We did a trip to a winery and it was really good.
Madeira- Beautiful. Depends on if you want to do cable car. We didn't so we did taxi from port to toboggans, toboggan down (well worth doing), taxi to town, shopping and then taxi back. Madeira is VERY hilly- you will need get taxis/buses. Ship puts on shuttle bus just into town but depending on line cost can vary hugely, and in some cases you're better off just getting the taxis. Taxis for the whole day cost €60, split between 4 people so €15 each. The ship shuttle was around $15 each and that would have only taken us into town.
Gran Canaria- Las Palmas? If so, fantastic aquarium, only open until 5 though. You can get a bus to the old town- don't bother walking, not a scenic walk through town! I would recommend staying around the new town, lots of shops, market stalls, bars etc.
Lisbon- My favourite European port. I would honestly just recommend getting off the ship, walking into town and exploring. It's a brilliant city with so much to see/do/eat/drink/buy!