The C convention is that even if an expression returns a value, that value can be ignored. In this case the openURL method DOES return a value, and you can have a variable that you assign the result to per my example. In this case you could evaluate the return immediately in an if rather than using a variable if you'd like.
In any case, passing a message to an object in Objective-C is an expression whose value is that of the return value of the method.
The terminology isn't as important as understanding (though knowing the terminology will help you express yourself more clearly on boards like this). When you pass a message in Objective-C you are wanting the class or instance you pass the message to to do something. The vast majority of the time that something will involve giving you a result as the return type of the method. There are functions that do not relate to any class/object like NSLog (and anything in a C library you might want to use, as well). These may return a value or may be void as well.
In terms of what you can assign to what using the assignment operator, =, I don't know if this is the time to talk about rvalues and lvalues in C. We'll just work off of the idea that when your expression is a method call its value can be assigned to something, but you can't assign something to it.
Don't worry, you can recover from BASIC, but I would do my best if I were you to approach a new topic with fresh eyes. Don't try to cram it in to the paradigm of BASIC, it just won't work.
-Lee