Another, related point is that many printing applications resample before you get to the driver. In almost any case, an application's resampling will be better than the driver's, which used to be a simple nearest neighbor algorithm - I think some newer drivers may use somewhat more sophisticated bilinear resampling.
Lightroom's resampling, for example, is much better than that - the most recent several versions have used something put together by Jeff Schewe and the Pixel Genius team (Jeff, if you're around, can you post what it's doing)? Not a whole lot of control as implemented in Lightroom, but very nice results - it resizes, then does a competent job of output sharpening. QImage has several different sophisticated algorithms with quite a bit of control. Topaz (or any other plug-in worth buying) will offer more control than Lightroom and better algorithms than the driver.
When I last printed from Photoshop (I always use Lightroom now), it didn't resize on its own. Unless you performed an explicit resize step (in Photoshop itself or a plugin, it sent to the driver at whatever resolution it had. You want to resize and output sharpen using either Photoshop's own tools or your favorite plugin, unless Photoshop's behavior has changed.
Whatever you use, there are two goals:
1.) Don't downsample - set your output resolution to 300 dpi (Canon printers) or 360 dpi (Epson printers) unless you have more resolution than that in the original image. If your original resolution is higher than that at your output size, set output resolution to 600 dpi (Canon) or 720 dpi (Epson). Technically, these numbers are ppi, not dpi (dpi is the number of individual color sub-dots that make up the pixels, and it's much higher), but most applications label it dpi. You can't generally set true dpi directly in photo applications, so the obvious output resolution setting in Lightroom, Photoshop or your plugin should be 300,360, 600 or 720 (whichever is appropriate for your printer and image).
The one case in which you have to downsample is if your original resolution is higher than 600/720 dpi (printing 8x10 from a Z7, for example). In that case, set your output resolution to the higher option your printer supports. Lightroom and most plugins should automatically use a downsampling-optimized algorithm in that case, and Photoshop has at least one choice marked "best for downsampling".
2.) Don't let the driver resample. Driver resampling is both unsophisticated and takes place after output sharpening. If your output resolution is 300 or 360 dpi, leave the "finest detail" or "highest resolution" checkbox unchecked - checking it will cause a driver upsample. If your output resolution is 600 or 720 dpi, check the box - leaving it unchecked will cause a driver downsample.
I don't know if HP printers are 300/600 dpi or 360/720...