The exact reason can't be known without looking at Time And Sales data. There are some possibilities but they'd just be guesses as to what pertains to your fills:
(1) News is released - perhaps an earnings announcement - and share price is volatile. Because you have placed a market order, price is moving so fast that as soon as you are filled, price changes. Price is so volatile that you might not even see the quotes changing.
(2) You're involved with an illiquid stock and coupled with spoofing, the bid or ask price was pulled when your order hit, thereby providing an inferior fill.
(3) You're trading in the after market where again, price is erratic.
(4) Your broker routes orders poorly
And just to make sure that we're on the same page, your fills are the actually price of the trade and they don't include the commission, right?