There are many good battery operated motion sensors that work with SmartThings. There are several listed on the official “works with” compatibility list.
As far as the battery life goes, in a typical home situation where it gets tripped up to a dozen times a day, normally batteries will last at least a year, and often two.
If it were at a store entryway where it tripped every few seconds, battery life might be more of an issue.
If you watch the current deals thread where people post deals that they see, there are often simple motion sensors and contact sensors that will sell in packs of two or three, bringing the price down to around $20 a sensor.
For more expensive sensors that include additional features, such as light level (which allows you, for example, only have the motion sensor turn on the lights if the room is dark), I think the most popular in the community are probably the Aeon multisensor and the Fibaro. Much discussion in the forums on both.
As far as plug-ins, there are a few. They’re not as popular because one of the big advantages of the battery-operated ones are that they can be positioned exactly where you want them, which allows you, for example, to catch someone as they walk into the kitchen without being triggered by a person who is walking past down the hall.
SmartenIT has a larger one popular with hotels and apartments for lobby areas that can be wired to a power adapter… It’s not a plug-in, though. It’s about the size of a regular light switch. I could see it being useful in a garage or shed where you wanted to cover a larger area and never have to change batteries. But as I said, it would require some wiring. It comes set up for battery operation, it’s just that the wiring option is possible.
If I think of anymore I will add them. Pretty much any zwave motion detector should work for SmartThings for basic detection reporting. For zigbee, look for ones that use the “home automation profile 1.2” (ZHA 1.2), but they might require some custom coding.