Predictable pieces
Think of a calculator: give it two numbers and an operation, and it returns an answer. A pure function behaves like that, giving the same result for the same inputs without changing something elsewhere. This can make code easier to test and reason about.
Functional programming often favours making a new value instead of changing an existing one. Real programs still need to save data, show screens, and communicate over networks. Teams can use functional ideas for some parts of an app without building the whole app that way. Object-oriented programming is another way to organise code.