You can detect 'on' or 'off' words in a SMS. First, you must concatenate each character received in a String object, after, use compareTo function.
char c;
String received = "";
while(c=sms.read())
received += c;
if(received.compareTo("on") == 0)
{
digitalWrite(YOURPIN, HIGH);
}
else if(received.compareTo("off") == 0)
{
digitalWrite(YOURPIN, LOW);
}
else
{
}