Yes, it works well for JavaScript, XML, CSS, images, etc. Any external
file-based resource that your Web Part may need.
Yes, I would not recommend deploying your images anywhere in the 60
hive. Use the wpresources directory which is a sibling to the root of
the 60 hive. That is its intended use. And as you say, deploying
anywhere else requires an additional deployment.
You will read in some documentation that you can construct your own
ASP.NET applications in the _layouts directory. I also recommend against
this. Remember, the 60 hive is fair game for Microsoft to alter, update,
replace entirely, spindle, fold, mutilate, etc. They warn us not to mess
with most of its content. If we do want to change the way things work we
should create our own subdirectory as you suggest.