What I never understood about this show was that the main capital building was always under attack, by forces greater than what they had. Kings Landing is where the king is, so why not have it filled with an army? Why not make it impregnable?
In season 2, Stannis almost took the city. Stannis, who most of his forces were killed at sea, landed and almost too the castle. I would think that all the loyal supporters in the lands would send forces to protect the city. Or at the least the city could protect itself.
In the desert, the Dothraki have an army that can take the city. Men on horseback, who don’t even wear armor can eventually take the city. All they have to do is cross the river. They don’t have boats, so their stuck in the desert lands.
Stannis will come back and try to take the city. The Dothraki will also try their hand in it too. So hopefully they will find a way to get some more men to try and protect the city, rather than almost being conquered constantly.