Imo in Laravel eloquent is almost a repo style pattern.
Meaning why call a repos create method when you can call the models create directly? Seems like needless extras. With the db drivers supplied it all but debunks the swapping db argument.
With that said in small to medium sized apps I tend to just call eloquent queries in the controller. If it's a large, very specific or reused query out of a basic one I'll set it in the model or trait to the model. Utilizing a scope, function or what have you.
Seems we all over engineer things to make it more complicated then it needs. Calling ten functions that don't get used anywhere else just seems more complicated later. It really doesn't help with anything. If it's not reused anywhere else who cares?
The only sticking point I run with is consistency. If you fire events in a controller, try to fire them all from a controller for example. Trying to track things down is a pain later otherwise. If to utilize model functions and eloquent in your controller try to do it all the time. Then a year later when you're adding a feature or updating one it's easier to track things down.