I was originally going to create a new thread for this post but I waited too long to make it so now that there are a ton of battery life threads I don't think it's a good idea to make another one.
Let me begin by saying I have used numerous Android devices since the OS was very new and there were very few phones on the market. As an enthusiast, understanding how smartphones work and how to tweak them is one of my primary hobbies. I buy new phones way too often

I've learned a lot over the years and I feel I can share a lot of insight into battery life with you all to help those that are unhappy with it out.
How to improve the battery life of your Thunderbolt(Most of this applies to every Android device):
First and foremost, users need to understand that the Thunderbolt(along with other smartphones) are not really phones, they are hand held computers that have the ability to make phone calls as one of their features. Do not think of it with the simplicity you would think of regarding a phone, think of it like a computer. Just realizing this can go a long way towards helping users figure out a lot of things that are going wrong.
It is possible for a laptop to have several hours of battery life. It is also possible for that same laptop to have 30 minutes of battery life. This kind of difference in battery life in terms of percentage is possible on a smartphone as well. The amount of work you make the device do(whether you know enough about Android to know what you are making your phone do or not) has a significant impact on battery life.
This line here is probably the most important in this entire post: People unknowingly making the phone do a huge amount of work is the cause of poor battery life.
Let's talk apps. Android runs apps(programs), Android can multitask. Apps have several "states" they can be in. A lot of people do not know this.
An app can be in the foreground running full on. This one is easy to tell since it is pretty obvious since the app is on the screen and you are using the app.
An app can be in the background, running full on, ready to be resumed. This happens when you press the home button to leave an app. This allows you to leave a game and resume playing it at the exact same spot in the same level that you left it at. For this to work, the phone has to keep the application alive and more or less running fully and using all of the resources it would normally need(CPU, Ram, etc..).
And finally, there is sleep mode. This happens when you exit an app using the back button on your phone or you exit the app using the exit button within the app if there is one. When an app is in sleep mode, it should consume virtually zero battery. I will repeat: When an app is in sleep mode it should not consume battery(Exceptions can be things that periodically sync such as Facebook or Weather apps). An app in sleep mode merely sits idle, within ram, it consumes no CPU resources or anything that could slow the phone down.(Having 50 apps in sleep mode on your phone will not affect performance. People tend to freak out when they open a task killer up and see all of this stuff, it's not something to worry about.) The reason "exited" apps stay in memory instead of just being "closed" completely is so that if you decide to use the app again in the future, the app is already in ram so loading it will be much quicker. RAM is a lot faster than storage memory.(If you want to test this difference yourself, reboot your phone, open the camera app. That is how long it takes to open the app from storage. Then hit back, then open the camera app again. That is how long it takes to load the same app from RAM) Windows 7 actually does the exact same thing, but it does a good job of hiding it from the user. Android doesn't try to hide it, but unfortunately doesn't make it clear what is actually going on, which causes the confusion.
Confusing the last two states I mentioned is where a significant amount of battery life issues come from. If you exit an app using the home button, your app will still consume battery in the background until you reboot the phone or resume the app and exit the proper way. Not being aware of how exiting an app determines the mode it is in, is why people use task killers.
The main thing to take away from this section is that you use Home to leave an app if you need to do something else and plan to resume the other app shortly. If you use 30 different apps throughout the day and exit from them all using the home button, your battery life is going to suck. If you are done with the app entirely for now, exit the app through its menus or get to the main menu of the app and then press the Back button on your phone.
The next few section is just a bunch of little things for helping battery life that altogether can make a decent difference.
Screen brightness on auto is not battery efficient. I suggest turning it on manual and setting it to about 1/3rd brightness and leaving it there.
Turn off phone vibration for anything but phone calls(Could do phone calls too but I need it on since I have my phone on silent a lot). Each time your phone vibrates, it has to run a mechanical motor. It may seem insignificant at first, however, over the course of the day, the phone running that motor every time you hit a button or type a button on the keyboard really adds up.
Turn off unimportant syncs, consider changing your usage habits to accommodate. The phone by default has some silly syncs enabled(News, Stocks, Weather). Personally I suggest shutting these off completely. I understand leaving the Weather one on if you are a big fan of the widget. I personally turn them all off. When I want to check weather, I open a weather app that refreshes only when I open the app. I don't have Facebook set to sync at all either. When I want to check Facebook, I open the app.
How many of you use Google Talk? If you do not use Google Talk, open the app, go to settings, uncheck automatically sign in. Then hit back, menu, sign out. One less thing to send and receive data for no reason. This is a little one a lot of people omit when trying to squeeze battery out of their phone.
Wireless settings: Unless you are using Bluetooth or Wifi currently, turn them off. Having Wifi enabled only saves battery life if you are actively using it instead of 3G. Having it enabled while the phone is asleep consumes battery. This is because the radio is constantly broadcasting and checking for wifi connectivity. Same deal with Bluetooth. Turn it on when you use it, off when you are finished. GPS you can leave on. Its "sleep" mode does not consume battery because it does not have to constantly check for a signal. It actually waits until something needs GPS to actually run.
Location aware stuff: This is primarily about the web browser but some other apps may apply. I disable the location aware setting for the web browser. This is so that the phone doesn't turn on the GPS and establish a connection every time I open the browser up. Over time having this off vs on can be a pretty reasonable difference in battery consumption.
Most of you probably already do this but push the power button to put your phone into sleep mode before you put your phone away. The screen is by far the largest consumer of power on the device. The minute or two you save each time adds up over the course of a long day.
Live wallpapers consume additional battery life.
Unless you really care about it, disable geotags when using the camera.
That's about all I can think of off the top of my head. I'm sure I am forgetting some more stuff. Being aware of all of this can really help get the most out of the device. I hope it helps some people.