Montage can easily be triggered within blueprints.
State machines require variable acquisition and additions to the animation graph to work properly.
They can both be used pretty much the same, the thing with montages is ease of use and configuration vs a specific state machine.
Take as an example a multiple animation montage.
you can concatenate several different animations into a sequence creating something you would otherwise need to create a full lenght animation for.
The other immediate benefit is the fact that a montage can be made to play on a specific chain of bones only.
Take for instance a reloading animation. You can do this action while performing almost any other movement action.
trought the slot system you can achieve this with very minimal work.
nothing keeps you from hooking an animation directly into the nodes instead of the slot, but the issue becomes “how is it triggered?”. In a best case scenario you would have to create a basic state machine and exit the animation if you enter jumping states for instance… not that it isn’t possible. Just a lot more work then 1 montage and a slot setup.
A tertiary benefit could be the elapsed time returned by the montage. It’s not as easy to get the time of the animation back to the player BP. Ofc, you would almost only need that value to code further behaviour, so you kind of need that in the character.
Pretty much any Action the player can interact with enviroment/npc is better off being a montage.
Anything the player has no real control over (movement for instance, yes you control where you go, but you don’t control How you go) is better off as a state machine.
A few things can be better off as state machines - sword combat for instance. If you start to allow for swapping weapons and you need different stances, it becomes better to use a customized state machine.
hope that helps.