When an AI can call external functions to do things it can't do itself.
An LLM on its own can only output text. It can't actually send an email, query a database, or check a calendar. Tool use is the mechanism by which the model says 'I want to use tool X with these arguments' - and your code runs the tool and gives the result back. The model then reads the result and decides what to do next. With tools, an LLM stops being a chat partner and becomes something much more capable.
Tools are how LLMs become agents. Every autonomous system is really an LLM plus a good set of tools plus a loop that lets it call them repeatedly. The tools you give it are what define what your agent can do.