I'd always spend a bit of time pounding down the gate and towers with trebuchets.
If I don't have a spy to open the gate, I take that out first - then the tops of the towers either side, and depending on ammo and number of trebuchets, any surrounding towers that are in range.
Then I knock a breach in the wall a short distance from the gate. Enemy troops tend to gather just on the opposite side, and are easy targets for catapults etc.. Two breaches are preferable. I then send in the soldiers, anyone who can defend well, all aimed at one breach. (For some reason whenever I try the main gate, the units stall or get stuck on the way in, getting doused in fire as well later in the game).
I wait until there's a big fight in the breach, put the soldiers on defend-area mode, and send my cavalry to the second breach, at a run. If done quickly, I can can get them through in order, and charge towards the first breaches defenders from the inside. This is all dependent on the enemy type and location, but I usually find that they flock to the ruckus in breach 1, so I can pile cavalry and reinforcements through breach 2.
IF their morale has been lowered by the trebuchet strikes, and the successive attack, then the charge is sometimes enough to break them. It doesn't tend to work if the enemy has a lot of heavy reinforcements inside; this first attack can be followed up with ladders and archers to get up on the walls though.
Cavalry tends to get massacred in a crowd crush though, so the initial charge has to be well timed. It can be used to lure enemy back-up units away from assisting in a big scrap, by standing still, and then legging it when they get too close. They can then be mopped up when the main bulk has been taken care of.
EDIT yes, archers against wall-protected archers are crap - that's why bringing down a wall packed with archers is so satisfying! They always run for the gate a bit too late!
This post has been edited by Traveller: 21 April 2009 - 12:14 PM
So that's the story. And what was the real lesson? Don't leave things in the fridge.