Great question on Erlang C and any shortcomings, I am surprised no one has posted any answers yet!
The quick answer in my laymens terms is that Erlang has well known shortcomings that create inaccuracies in certain environmnets. Usually these come from its trouble properly accounting for abandoned calls, and also its trouble accounting for a skills based scheduling environment. The end result is that erlang calculated requirements are usually greater than the actual requirements needed to meet your service level, or in other words, they have an upward bias. If you have a minimal abandonment rate, say 1.5%, and a single serving team for each queue, then erlang can handle it, but more complex environments need a more advanced algorithm to calculate true requirements.
I have 2 special reports by Dr. Len Forys, a former Bellcore fellow, that were assembled for a WFM summit in New Zealand where he was a speaker. I would be happy to send you free of charge if you would like. One details Erlang vs. advanced algorithms, and the other is on how to evaluate scheduling strategies side by side. Hopefully this will not be construed as a commercial post by the moderators, as again I am happy to offer these documents to anyone in the industry free of charge for educational purposes.
If it is OK to say this here, please feel free to submit an inquiry on my website and just make mention that you want those reports in the subject field. It will automatically be forwarded to me.
Thank you and good luck!