memory management – Why is the stack smaller than the heap?

From what I understand, stack and heap grow in opposite directions:

enter image description here

However, why is it then the case that the stack is sometimes statically allocated, and generally smaller than the heap?

We hear about stack overflows a lot more than heap overflows.

For instance, the Linux kernel stack is limited in size, and recommends putting things on the heap.