I agree with telles0808. even though it's possible to do as you said with single objects, but what about objects with animations? that would definitely be very annoying without families. or if you wanted totally different logic for each enemy, or ui element.
Sub-Events!
+Enemy.value=Goomba
(subevent) Do anything a goomba would
+Enemy.value=Koopa
(subevent) Do anything a koopa would
This single enemy object could contain every behavior that could be activated/deactivated depending on what the enemy variable is. Animations could be set like
-GOOMBA_Walk
-GOOMBA_Squished
-KOOPA_Walk
-KOOPA_Squished
Then when the enemy dies? More sub-events
+Enemy dies
(subevent) If it's a koopa do this
(subevent) If it's a goomba do that
I guess it's just personal preference :\ I like that each time one of my enemy spawners creates an enemy, ALL of its properties are set right there in events. Then I could have yet another sub-event for enemy variations instead of creating a brand new enemy object and putting it in the family just for some minor differences. The same applies to bullets and everything; If the bullet variable is Plasma - give it this strength and that behavior. If the bullet variable is fire - give it this effect with this other behavior.
I find that easier and more convenient than making totally different objects and putting them in the same family, but to each his own I guess o.o
Edit: TiledBackground Objects seem to be an exception, as each one can only use a single image. So if you want them to share a common behavior you'll want to use families.
But then again you could possibly load the image externally based on a variable, and not have to use families at all ;)