I have been using the M20 and M30s devices for about a year. I purchased the M20 as soon as it became available. Coming off an Xperia Z1, the M series devices aren't benchmark scorchers. They would rather be found at the lower end of most benchmarks, except the battery life one. For me, as I leave the screen mostly on, the M30s lasts for 20 hours. The M20 used to last for close to 16 hours. I have to purposefully play 5-6 rounds of clash royale at night so that the battery dips below 30%, which is my psychological barrier to charge the phone. It will lag in any GPU intensive game. However, it's only some games which cause display lagging, apps haven't lagged in my hands to date. I use the M30s to watch movies, play some games, calls, video calls, chats, while the older M20 was passed onto my dad, who is happy with it. Since dad doesn't keep his data / wifi connection on at all times, he ekes out 3 days of battery life out of the year old M20. Yes, 3 days on a single charge, on an android phone.
I once got frustrated after losing too many successive matches in clash royale, and dropped the M30s, from my hands on the floor. Then I picked it up to check if the screen was ok, and it was. Not a single dent, ding or crack.
I should mention that I don't mind a phone lagging in games, only because my primary phone for playing better games like PUBG, Real Racing and Forza Street, is an iPhone 7.
The A series also have some good phones.
Would I go for a M series device again? Yes
Would I have an M series device as the primary phone? Yes, if I am on a fixed budget.
I would recommend Samsung, because of brand, service network, and good build quality.