It happens because this game uses server side confirmation before every action is performed. IMO, for a faster and more dynamic performance, they really need to improve client side, allowing the client to offer a response to players and contacting the server only for results.

I'd say its more for security...but i do would love seeing a much faster response in every single aspect of the game.