Given a convex optimization problem $$\min f(x), x \in D$$ $f, D$ convex.
The first-order optimality condition says $x$ is the minimizer if and only if $\nabla f(x)^T (x-y) \geq 0, \forall y\in D.$ For unconstrained problems, this is $\nabla f(x) = 0$.
This seems to be perfectly suited for finding minimizers $x$.
So why bother with KKT conditions?
We already have an equation which we can use to solve for minimizers $x$.
Furthermore, KKT condition is just sufficient (but might not be necessary), so it is an inferior version as compared to the first-order optimality condition.
Can someone shed light as to why we might care about KKT conditions even though we have first-order optimality condition?
... because it is easier to check whether the KKT conditions are satisfied compared to the first-order conditions.
In fact, you only need some set of multipliers, plug it into the set of equations and see if it fits. For the first-order conditions, you have to check every $y \in D$.