Generally the simplest hacks are the best, because there is least chance of them going wrong (the star hack for example). Using any of them can lead to unwanted consequences and a lot of difficulties in maintaining code. You should avoid any of them at all costs. If you really need to target IE for anything (and normally it can be avoided), you should use conditional comments.
Great wit and madness are near allied, and fine a line their bounds divide.
I find no need to target IE7 specifically at all, as it handles most things ok. On the occasions where IE7 may need HasLayout triggered to render properly, this can be done without targeting it or affecting other browsers.
I also only use them when I absolutely need to, but this time its more for looks than functionality. In both FF and IE, the website works fine, but in IE 7 there is a slight rendering difference. The links on the left side appear to have more padding in IE7 than they do in Firefox. Take a look: http://www.barkleigh.com/
I could adjust the padding for IE7 by using the hack to make it look more like the Firefox rendering.
While not a 'hack', I am liking this (placed before "</head>". It trains IE to behave more like other browsers...
Only problem with that is when javascript is disabled - the whole page layout may break. AFAIK, that also includes a pngfix for IE6, and these scripts have the problem of targeting ALL png images whether transparent or not, which can lead to further complications. They also still cannot resolve positioned or repeated transparent png backgrounds anyway.
Bookmarks