One of the “new” things that you will encounter when changing to an iPhone (or simply by upgrading to iOS 5 and above) is the addition of iMessage. This allows you to send messages ala WhatsApp style over the network as long as you have an internet connection, be it from your iPhone, iPod Touch or iPad.
As nice as iMessage is to use, there would be times when you need to send SMSes instead to another iPhone: be it when the recipient has turned off the data connection or is in a place with an unreliable connection. And no, going to Settings to turn off your data connection to force sending as SMS doesn’t cut it either.
The solution to this is simple, seems that Apple had already thought this one out. [Edit: Sadly, this apparently does not work in iOS 5.] When the message is being sent, or anytime before the message gets the “Delivered” status, simply press-hold on the message being sent to access the alternate menu and select “Send as Text Message”. That message will then change from blue (for iMessage) to green (for SMS) as it sends the message as an SMS instead.
This works out fine as there is no need to (re)send the message as an SMS if the message has already been delivered via iMessage (the “Send as Text Message” option is made unavailable for messages that are already delivered). Also, it appears that it tries to send the message automatically via SMS should the iMessage delivery take too long or fail for some reason. Nice 🙂