Update: The Image Upload Web Part has been updated.
Heather Solomon blogged about end-user-focused web parts. (Be sure to look at the comments for links to many others.) All are very valid points.
I have a small but helpful contribution: The ImageUpload Web Part.
On a WSS Team site, the default template has an Image Web Part that displays the Windows Logo. I have never seen this logo on a production site. To change the image is easy enough for users familiar with the Web Part page model: Open the tool pane and change the location of the image. This is where it gets difficult for end-users.
What if the image is on the end-user's computer? Most likely, they email the file to the webmaster/developer. It is then uploaded to web server and the URL emailed back to the user. (Or the webmaster/developer is updating the web part.) More industrious users will post the image to a photo gallery. Some will even determine the URL. But there is an easier way.
The ImageUpload Web Part displays a form with a file upload input box. The end user can click the browse button and select the image. The web part stores the image in a document library and automatically remembers the location (URL) and renders the <IMG> tag correctly.
Download the CAB file and source code.
The web part requires a setting in web.config with the location to store the images. And, the end user must have permission to store items in that library. (This second restriction could be alleviated using impersonation techniques from Todd Bleeker or Victor Vogelpoel or Jay Nathan.)