There are buses or minibuses from Istanbul, Yalova and Bursa. These buses either head for Gemlik itself, or head for one of the aforementioned cities and pass through Gemlik. In any case, you can buy a ticket for Gemlik and get off there.
There are fast ferry services between Istanbul’s Yenikapı Pier and Gemlik. These services are only for pessengers (no cars accepted) and also call at some other towns nearby too. See İDO’s homepage: 
If you are arriving overland, to shorten total travel time you may consider taking car ferries between Yenikapi (European side) or Pendik (Asian side) or Eskihisar (Asian side, about 30 km to Istanbul) and Yalova. Then there remains a road which can be taken in about 30 minutes.
The town is known for the oliveyards surrounding it. So you can buy locally-produced stuff that are olive-related, like olive oil, castile soap, or brined olive.
Along the seaside you can find various pubs and cafes. Mostly tea species(black tea, herbal teas...) are around 1 TRY.
The area code for Gemlik is 224.