Azure Functions allows you to deploy code that executes when certain events happen. That might sound kind of lame and generic, but when you consider that we live in an Internet of Things (IoT) world now, it might make more sense. The ability to respond to and process events as they happen leads to a more real-time IT world where the need for batch processes does not necessarily go away but is greatly diminished. Azure Functions is a deployment option that can be leveraged for this paradigm shift. Think of Azure Functions as compute on-demand.
This is somewhat of a specific and boutique workload in that it can only be used for certain workloads and usually in a re-architecturing and reengineering effort, but nonetheless is a viable deployment option when you are modernizing mainframe workloads.