In Maya, an asset is a special type of node that can be used to encapsulate sets of related nodes. A template is an external file that specifies a common interface that can be applied to multiple assets (for example, an asset of a car, a truck, and an ambulance all have similar components and can thus can have a common interface) and accessed from the Maya UI.
In complex scenes with many nodes and attributes, assets become a key organizational tool by allowing you to package nodes together and expose only the attributes you need. This allows you to keep all the Maya editors clean and clutter-free.
Assets also allow you to customize which attributes are shown to which users while simultaneously locking them out of other attributes. This allows you to ensure the integrity of your scene even when others work on it.