Suppose f is a continuous function on the real number line, and f(x) is positive at one end of an interval, and f(x) is negative at the other end. Then the IVT says f(x) = 0 somewhere in that interval.
More generally, f(x) reaches all values between f(a) and f(b) (and possibly other values) as x varies in the interval a ≤ x ≤ b.
For example, taking f(x) = x^2 - 5, we find f(2) = -1, and f(3) = +4; then the theorem says x^2 - 5 = 0 for some x between 2 and 3. This proves that √5 exists (in the system of "real numbers").
Or consider the sine function: sin(3) = +0.14, and sin(4) = -0.76, so there must be some x between 3 and 4 such that sin(x) = 0. This is one possible definition of π.
Of course we also have sin(-4) = +0.76 and sin(4) = -0.76, so the theorem says there's at least one x between -4 and 4 such that sin(x) = 0, but it doesn't say there's exactly one such x.
Also, notice that sin(2) = 0.91 is not between 0.76 and -0.76, even though 2 is between -4 and 4. This is one of those "possible other values" allowed by the theorem.
The function doesn't need to be smooth. The IVT applies as well to |x|, or weird functions like Cantor's or Weierstrass's, which are continuous but not smooth.
In this context, "continuous" means that small changes in the input, x, can produce only small changes in the output, f(x).
More precisely, it means that, for any reasonable definition of "small" in the output space (the y axis, if you graph y=f(x) in 2D), there is another reasonable definition of "small" in the input space (the x axis), such that any small change in the input produces a small (or zero) change in the output.
Still more precisely, see the epsilon-delta definition of continuity.
A discontinuous function may or may not have the intermediate value property. For example, the floor function has ⌊0⌋ = 0 and ⌊1⌋ = 1, but there is no x between 0 and 1 such that ⌊x⌋ = 0.5. On the other hand, though the following function is discontinuous, it does have the intermediate value property:
f(x) = {
0, if x = 0
(1/x)*sin(100/x), if x ≠ 0
}
(Graph this function on WolframAlpha or Desmos or whatever.)
Here's an illustration of the IVT, for f(x) = x^2 - 5 on the interval -2 ≤ x ≤ 4. Instead of a 2D graph, I'll show the input and the output separately in 1D spaces.