get_results() query not working only when entering strings

You do not need to use quotes around some data types in SQL, integers being one of those types. That is why the first block of code works. It is a perfectly valid SQL statement.

You do need to quote strings in SQL. That is why your second block of code does not work. The correct form would be:

$all_pages = $wpdb->get_results(
  'SELECT post_title, guid FROM wp_11_posts WHERE post_title = "Office Home"',   
  OBJECT
);

If your data is in any way subject to user input you should use prepare().

$string = "Office Home"; // if coming from $_POST or $_GET data or other user manipulatable sources
$sql="SELECT post_title, guid FROM wp_11_posts WHERE post_title = %s";
$sql = $wpdb->prepare($sql,$string);
$all_pages = $wpdb->get_results($sql,OBJECT);

prepare() will add the quotes as needed based on the data type indicated by the placeholder– %s.