A feature is a specific capability your software offers to the people using it. The login screen is a feature. So is the search box, the ability to download a report, or a notification that emails you when a task is done. Each one is a distinct piece of value that a user can point to and use.
Think of features like the options on a car. The engine and wheels make it a car at all, but heated seats, cruise control and a reversing camera are the features people compare and choose between. Software works the same way: a minimum viable product ships with just enough features to be useful, and more are added as you learn what users actually need.
In day-to-day development, features are how teams organise their work. A single feature is planned, built across a sprint or two, reviewed in a pull request and then released. Each one usually has a short description of what it should do and how you will know it is finished, which keeps everyone pointed at the same goal. Keeping features small and well-defined makes them easier to test, ship and reason about, and it means a half-built feature never blocks the rest of the release.
There is a discipline to it too. Every feature carries a cost to build and maintain, so good teams resist the urge to bolt on extras nobody asked for. The strongest products often do a few things really well rather than a hundred things poorly.
At TopDevs we plan client work feature by feature, so each release delivers something tangible rather than a vague block of progress.