Why doesn't my Limit order execute sometimes even if the price shows on screen?
The limit order doesn't sometimes execute even if the stock reaches the limit price because the orders are executed on a 'first come, first serve' basis, i.e. queue system on the exchange.
This means that if there are multiple bids at the same price and only one offer to counter it, the person who placed their bid first will get their order filled.
Read this post on TradingQ&A for more information.