Creating an image with a transparent background has many benefits.
The first one I can think of is a web application.
Lets say you upload a header to your website that has a white background to blend in with the website’s background that is also white. This is a smart idea and great programming. But, if you then later decide you want to change your background to a gray, if you didn’t create a transparent background, you would have to re-create the image with a gray background.
So, what you should do in this case is create your image with a transparent background in the first place! Then all is much easier in the future.
I have played around with both the *.png and *.gif formats for working with this, and have decided that the *.png is a much better (not even comparable really) than the *.gif image.
Both the above images were generated from the same master *.psd image, although the *.png was increased a bit in size, which shouldn’t have any effect on the image.
For step by step instructions on how to create a *.png file, read this post.