Your problem is you are trying to block as the blow is incoming (you attempt to parry with the shield) but (correct me if I'm wrong) the idea with a shield is you keep it raised pretty much most the time and only drop it to strike when you see an opening.
I was of the opinion that if you raised your shield at the exact moment the opponent strikes, he staggers, otherwise he just keeps hitting your raised shield until you do something. I found the game very easy when I did that, however when I first used shields, I did as you suggested and only staggered the person with a shield bash. Try experimenting, you might find your not using a shield to it's best abilities.
Edit: This video contains everything you need to know about blocking and shields (including perks). I found it very useful.
http://www.youtube.com/watch?v=DOKgNkufZAI