When you concatenate, you break out of the double (or single) quotes (depending on which you are using).
print 'Text: ' . $someVariable;
print 'Text: ' . $someVariable . ' followed by more text';
print "Double quotes work in the same way, even with my varabies " . $someVariable;
Notice how if I'm using single quotes, the ' . breaks me out of them then . ' puts me back in.
Alternatively, you could have written your query like so
$query = "SELECT * FROM outage WHERE $selector = '$value' ORDER BY id";
This works because you're in double quotes, and technicaly don't need to break out of them to print variables. Your variables in this case won't be be treated as strings, but as PHP variables. The single quotes then are literally interpreted as they are within double quotes (Note: You don't need single quotes around your column names in SQL, just around your values if they are strings).
Or using single quotes
$query = 'SELECT * FROM outage WHERE ' . $selector . ' = \'' . $value . '\' ORDER BY id';
But unlike standard quotes, I now have to break out of the single quotes to print the variables. I also need to surround the value by a single quote, so in order for it to be treated literally, i have to escape it with a \
Hope this clears up any confusion.