Overflow occurs when a calculation exceeds the maximum storage capacity of a data type, leading to unexpected behavior or errors in a program. It is a critical concern in computer science and engineering, especially in systems with limited memory or in high-stakes applications like finance and safety-critical systems.