Here's an example where the greedy one is less efficient.
/a+(a|b)/
aaab
START |a a a b a |a a a b Yes! + <a|a a b a <a|a a b Yes! + <a a|a b a <a a|a b Yes! + <a a a|b | <a a a|b a <a a a|b Nope b <a a a|b Yes! END <a a a b> Yes!
We reached END, so the match succeeds; it found the aaab part of aaab