The existing object type editor only allows you to pre-define custom properties based on a type. Normally you’d have to make sure to give each of your objects that type, for those properties to show up. This workflow was improved somewhat for tile objects in Tiled 1.0 with the introduction of type inheritance from tiles.
You’re right that currently, when comparing strictly tile objects, the templates do not add a lot. All they add for these objects is the ability to specify a different default size and rotation for the instances.
However, a template can be made for all object types (not just tile objects). So in general, it provides a way to avoid repeating yourself by not having to set the type, custom properties and also the size or the polygon shape, for each instance you’d like to have in your maps. The more we extend objects in the future, the more this pays off. And of course, when you use templates instead of copy-pasting, you get the benefit of being able to edit this template, indirectly affecting all its instances.