I agree it is easy to throw a basic interface together in HTML/CSS/JS, oftentimes the code is reusable and this approach can be pretty effective. However, I'll present a reason you should NOT do that - if you are working with non-technical users /designers in a joint-application-design (JAD) or collaborative type session.
When you are sitting next to someone, and you are designing UI, and you have to open anything that looks like code, it can throw off non-technical people severely. Oh, sure I can make this box bigger, let me just change this property on some CSS, adjust this div and then refresh the screen?
I have done both styles, using tools like Balsamiq and Axure RP, paper prototypes, whiteboard prototypes, fat-client prototypes using desktop UI frameworks, and prototypes in HTML/CSS/JS. I think the advice here is, make sure you know the audience you're working with, and that having to interleave code with the design process doesn't throw off the workflow (even if only basic coding).