Minergate.com is a better choise since their cloud mining price is lower and the same go for their fees.
Hashflare pays you according to how much you have bought of the total hashrate in their system. I guess this means that you can't hit a good block and keep it to yourself.
"Next, all mined cryptocurrency is distributed among all customers of HashFlare depending on their share of hashrate in the whole system."
Minergate is a little cheaper and fees look much, much lower but I haven't seen what people are getting back on returns.
I assume there is a finite amount of Hash Rate at Hashflare, so buying a bigger contract I would hope I would receive a lager percentage from the pool.
And hence your mining in a pool you have to share good blocks..
One thing I like about the minergate client is that you don't even have to use Minergate's mining service, you can enable custom pools and connect to any freely accessible pool you like. For example, I do this with BCN and Minergate takes zero profit.