First I don’t recommend you do this unless you have a good reason, although it is not illegal Apple does frown upon it. Also there is a possibility that something may go wrong. However there are very good reasons to jailbreak your iPhone. In my case it was a broken Home button, at first I could get it too work if I tapped on it about 10x, however yesterday it stopped working all together. In order to go to the home screen I literally had to shut down the iPhone down and then restart it. I can hear you now, you should take that to the Apple Store to get fix. Unfortunately the nearest Apple Store is three hours away and since this is our only phone it is not very convenient to send it back to Apple for repair. I read that under Cydia there was a way to have one button substitute for another, which is exactly what I was looking for. The problem is you have to jailbreak your iPhone in order to install Cydia on it.
I then started searching for a way to jail break an iPhone 4 that has iOS 4.3.3 installed on it. When looking for jail breaking options make sure you find the one that works with your iOS version and is untethered. Any time Apple does an update, there is usually a gap before the corresponding jailbreak becomes available. There is a really good article on the difference between a tethered and untethered jailbreak and why the untethered is better at the iPhone Download Blog. Unfortunately while searching I discovered that all the programs available to jail break iOS 4.3.3 required a working Home button, which I didn’t have. I tried to find a work around by googling the problem, without success. I then decided to try a method that had worked before for me, and that is to use an electric heating pad. If you lay the iPhone face down on the heating pad and heat it up a little, (use with extreme caution) that seems to fix the Home Button temporally. This allowed me to jail break the iPhone using Redsn0w. Redsn0w installs Cydia automatically. Within Cydia there is a program called Activator, which allows you to substitute one button for another, which is what I was looking for.
Remember jail breaking is not without risk, so before you do it make sure you back up your iPhone. Also when Apple does an update, you have to wait until someone jailbreaks it before you upgrade. Have you jail broken your iPhone, if you have why?