Firstly, if a stock costs $50 this second, the bid/ask would have to be 49/50. If the bid/ask were 49/51, the stock would cost $51 this second. What you're likely referring to is the last trade, not the cost. The last trading price is history and doesn't apply to future transactions.
To make it simple, let's define a simple order book. Say there is a bid to buy 100 at $49, 200 at $48, 500 at $47. If you place a market order to sell 100 shares, it should all get filled at $49. If you had placed a market order to sell 200 shares instead, half should get filled at $49 and half at $48. This is, of course, assuming no one else places an order before you get yours submitted. If someone beats you to the 100 share lot, then your order could get filled at lower than what you thought you'd get. If your internet connection is slow or there is a lot of latency in the data from the exchange, then things like this could happen. Also, there are many ECNs in addition to the exchanges which may have different order books. There are also trades which, for some reason, get delayed and show up later in the "time and sales" window.
But to answer the question of why someone would want to sell low... the only reason I could think is they desire to drive the price down.