Can't give you an opinion on SOA as we will be going to SOA in lieu of HDDR on our upcoming visit. However, CRT v HDDR, I'll take HDDR any day of the week and twice on Sunday. HDDR is FANTASTIC!!! Corny yes, but the food is always good, and it never fails I leave with my face hurting from laughing. By no means is CRT awful,I am glad we've gone, but I don't forsee using dining credits or paying OOP to go again. Yes, it is in the castle which is special, but it is one of those experiences I can check off that I've done and move along. There was nothing special that makes me or my DD want to go back.
If you want a princess dining experience, I think the one at 1900 Park Fare and at Epcot are better and cost less. If you have a Cindy fan (esp. a young one) in your group, then I definitely recommend 1900 Park Fare over CRT. I also found the character interaction at both of those to be better than at CRT.