Let's say for a hypothetical stock "S", the current bid and ask prices are $9.00 and $11.00 respectively. To my understanding, these prices are at the top of the order book and represent the "best" prices to buy or sell the stock. So in theory the orders associated with these prices should be the first to be filled in the case that someone wants to buy or sell the stock at market price. So following this logic, if someone were to create a limit order at a price slightly higher than the current bid price, say $9.50, they should be immediately put at the top of the order book and guarantee their order is executed with the highest priority (given that no one sets a higher bid).
What I'm confused about is that if this were true then why would anyone choose to create a market order since giving a bid slightly higher than the current bid price but lower than the asking price is always better value (considering the market is highly liquid) than taking the ask price? The only reason I can think of is that because the bid-ask prices change so rapidly in a high-volume market it might be difficult for a human (maybe not for a bot) to first look at the order book and then create a limit order at a strategic price before the order book is updated again.