Short answer
It describes how the cost of an algorithm -- usually time, sometimes memory -- GROWS as the input size n grows, ignoring constant factors and lower-order terms.
Explanation
It answers 'if I make the input much bigger, how much more work is done?' rather than 'how many milliseconds does it take'. That makes it hardware-independent: O(n) means the work grows in proportion to n, O(n^2) means it grows with the square of n, regardless of the machine.
Common mistakes
- Saying Big-O measures exact running time in seconds.
- Forgetting it describes growth as input size increases.