Worth A Thousand Words
Image handling is one of those things that it's easy to not think hard enough about, but that your users will expect to be able to add to their nodes and their experience working with them will have a dramatic impact on a user's experience with your site. It's a far thornier issue than you may think.
For one thing, there are a several of distinct uses for images. We're not talking about images uses as part of the layout and general look and feel of the site, and we're also not talking about images that are on the site for their own sake, probably part of an image gallery. What I'm really trying to talk about are images that are part of a piece of content, the way the image of me and a goat is a part of this piece of content.
There are a bunch of different ways to work with images. If you're using a WYSYWYG editor of some sort, you can plug in IMCE, which gives you a button in your editor toolbar that handles images. Or you can use modules like image attach that will allow a user to create an image node with an image and then display that image within the page. And then there's the filefield/imagefield solution.
I've never been a big fan of image attach and image assist as options -- it's probably an inappropriate prejudice on my part, but I tend to prefer not to ask my web users to work with any sort of code, even expedients like an [image] insert into their copy. That is great for some user groups, but mine tend to find any sort of markup like that intimidating, and I prefer to not scare them off.
Which leaves me with the IMCE or Filefield options. The trick with IMCE is that you end up having popups within popups, and it gets confusing. You click on the image button, and that brings up the image attributes popup. On that, you click the browse images popup. That shows you the images you've already uploaded, but if you need to upload one, you need to click on upload on that popup and that brings up a third popup that allows you to browse your computer and find your image. So, click up three popups, select your image, and click back down through the same three popups. Users who struggle with web stuff are going to struggle with that process.
What I have found works a bit better in many of my use cases is to take a lot of the control away from the users. Rather than using IMCE and giving the user fairly complete control over the way the image displays, how many images they can put on the page, and so on, I use filefield and imagefield in CCK, and use display settings and CSS to control the way a single image displays on the page. They'll always float right or left, always be a certain size, etc. Doing this, the user gets a single button to upload an image, and that's all they need to worry about. It means a lot less flexibility, but a lot less confusion.
Of course, the true power of Drupal is that we can build BOTH into a web site. Go ahead and create your filefield/imagefield solution for most users, but then create a new user role for your more advanced users and give them access to a more advanced version of the WYSIWYG editor with the ICME-based image tools enabled. Then all you need to do is anoint your stronger users with the more powerful role, and BOOM! you've provided user experience tailored to different user's comfort levels. Everyone wins with Drupal!