In general, ML is the name we give to the practice of making computers learn without explicitly programming insights into the algorithm. The converse practice—that is, programming an algorithm with a set of instructions that it can apply to datasets—is often called heuristics. This is our first classification of algorithms: machine learning versus heuristic algorithms. If you are managing a firewall and are manually maintaining a blacklist of IP address ranges to block, you can be said to have developed a heuristic for your firewall. On the other hand, if you develop an algorithm that analyzes patterns in web traffic, infers from those patterns, and automatically maintains your blacklist, you can be said to have developed an ML approach to firewalls.
We can, of course, further subcategorize our ML firewall approach. If your algorithm...