I consider myself a web designer / front end designer, or maybe front end developer as you'd say? (basically 90% of the time my work takes place between photoshop, css, html, and js/jquery)
Because I've never used illustrator to convew web layouts, explaining the exact padding / margins in pixels has never been too difficult of an issue. In the past when I've worked on designs while someone else is doing the css, I would generally slice the psd myself, hand images to the developer one by one, and explain where it should go, what heights, width, and other specifications were needed, and some sort of strategy for implementing it, if it was something a little fancier than your typical css.
That said, I get the impression that this was an unusual case, where if it were a larger organization, not a two man company, I would've just been coding it myself instead of trying to split up the work because our skillsets overlapped.
As far as interaction such as hover states, you really just need to annotate it, or explain it sepparately to the developer. I would at least have a sepparate layer clearly labeled hover state if you're handing off a psd, but if you're slicing images yourself and handing off an image sprite, it should be pretty obvious what to do.
There doesn't seem to be one standard process. I think each organization divides up work a little differently based on the skillsets of the people in the office.
On a side note, is there any benefit to using illustrator to mock up websites?