Here’s a gif of my typical experience with the grease cut tool. Note it’s Blender version 2.79:

What’s true is that Grease Cut often behaves oddly, as seen in the gif. Like the first cut removed the wrong piece. But I can simply turn off the subtract option and delete the desired piece manually. Then after that first wonky cut, the tool works fine.
This is normal in my experience: Occasional-to-frequent messups alongside expected functionality. While this can be annoying sure, it’s a free tool and I’m just happy that it works at all. Hope that helps. My suggestion is to get used to re-trying the same cut multiple times/ways till it works 😅