Use monotonic stack when:
You need the next/previous greater or smaller element for each position
You're computing contribution of each element as min/max of subarrays
You see histogram-like problems with heights and widths
You need to track "visible" elements or blocking relationships
Here's what matters: when an element gets popped, the new top is its previous greater/smaller, and the pushing element is its next greater/smaller.