Yes, there is a difference.
Semantically an if/else statement means
if (condition)
statements
else
statements
while a the ternary conditional is
condition ? expression : expression
so you can assign the result of a ?: operator to something while you can't do it with an if statement. Actually the ?: operator is an expression itself so you can nest it inside other expressions, even other ?: operators.
The ?: is also type checked, this
condition ? [self methodThatReturnsVoid] : [self methodThatReturnsInt]
raises an error since the result type could change according to condition.