I give techs sparingly to regular vassals (vassalized after their defeat, or through overwhelming domination over them), and not the ones that would facilitate their expansion too much (eg: medecine or cultural techs), but sometimes I want to give them a military edge if they are quite friendly and I expect to go to war with them as allies. Problem with those types of vassals is that they sometimes regain their independence and can hurt you.
Colonies, however, are another matter (I use "no tech brokering"). I give them most techs, holding back only when those techs would make them lose time on stuff that is useless to me (eg: rocketry), especially if said colonies were founded in an early era (via Galleys) as there's enough time then for them to catch up and becomes virtually a "real civ" useful to you for defense (buffer or outer defenses - useful especially when built close to a rival)/war, especially if gifted by me with a few units to help them catch up (extraneous workers notably - I noticed colonies tend to neglect their land to build an army and some culture etc.). When I use colonies for land grabbing to block rivals on their continents (I love to do this to the expansionists or the too good techers), I like to turn them into pain in the butt for the rival... so multiple religions, a few units, extra ressources and all the techs.
I would make many changes to the colony system (their own rules/diplo system rather than using the vassal system, notably) but they're still fun, funnier to use than regular vassals.