When charts, the packages for the Helm package manager, first started they were fairly simple. Properties in Kubernetes YAML files could be turned into variables, with defaults, that could be easily changed. This meant that Charts were focused on simple infrastructure customization. For example, two different people could share configuration while changing the container image location. This was useful for those who maintainered their own internal copy of an image.
Over time, Charts have started to see a shift in complexity and focus. Variables and template function, which have been slowly expanded over time, provide a method for higher level programming in Charts.