There are issues with my castle:
Mainly, it is just too small
i) each turret has a flat side of 4 and this means the windows don't work so well. Having it at 5 so that it was wall window wall window wall (if that makes sense) would have made it look cooler.
ii) there wasn't really going to be enough space inside it for anything resembling a village because the ground space was too small - I was limited by finding this site by accident rather than starting solely from scratch. The penisular largely existed like it was with the ravine there - all i did was bring the sea to each end of the ravine which was a relatively small job. I did make the ravine deeper where the fiery pit of death is though.
iii) the latest version of minecraft has a height of 256 blocks. Ground level is at 64 and you can dig down to ~4-6. My main tower is about as high as you can go at about 115 if I remember. When I next have a play I will really be able to make some sort of Orthanc size tower

The limitations of the ceiling had a real impact on the size of the walls etc but doubling the above ground height should fix that for me.
Throw in things like I hadn't fitted windows or made a gate tower or even a proper bridge entrance and you can see that there was lots to do. In future I would have extended my railway into the castle itself rather than just from the ravine but in the end when I really go the towers building and realised I hadn't thought things through enough at the start I was a little disillusioned. Still, next time I will have learnt from my mistakes and it will be awesome!
Enemies don't make concerted attacks - they just see you if you get too close - it is rare you are fighting more than 2-3 at once and you can make it so that people can attack each other but the problem with a castle is that they can just dig through the walls the same way you can dig so walls would be a bit useless
As for the stairs, they have resulted in my death a few times but you don't want to make things too easy