I presume because of the physical energy drain - she can't control the magic that long or at a distance, or with much frequency. It would kill her.
Melisandre claims that the power she used to kill Renly came from Stannis and that only king's/king's blood have that power but it would would kill Stannis if she continued to drain him to kill his enemies. That's why she wants Robert's bastards (Gendry in the show, and Edric Storm in the books). It's not entirely clear that she's telling the truth though, most of her powers except that one seem to be either minor illusions or the power to see visions of the future and *Minor Spoiler from book 5 -->* when she does having a king of sorts in her power she instead sacrifices someone else disguised as him. *<-- End Spoiler* My guess is that power was entirely her own but it drained her so much that she's afraid to do it again because it might kill her or that the power really did come from Stannis but he had it for some other reason than being a king.
It's not quite clear. The shadow which she uses is powerful magic and we don't quite know the limits of it. She and Stannis may have lacked the energy needed to create another demon. It may also be that it's out of range. Davos has to row Melisandre under Storm's End to use the shadow demon. In the book this is explained because of magical wards used on the outside of the castle. But it may be that the demon has a range limit too. And Joffrey may have been beyond that
Melisandre needs royal blood to cast those demons, and draining more from Stannis would kill him. That is why she needed Robert Baratheon's bastards or other descendants from kings.
Maybe she can only kill one person at a time and needs time in order to do so. She doesn't have access to King Joffrey, does she
plothole
If Melisandre can kill Renly with the ghost, why cant she kill all in Kings Landing (like Joffrey) ?