Microsoft® SharePoint® Server 2010 lets you use LINQ to SharePoint to
take advantage of the LINQ framework and LINQ to Entities against
SharePoint lists. The LINQ framework will convert LINQ to SharePoint
statements into collaborative application markup language (CAML), and
then execute the CAML against the SharePoint object model or Web
Services. Source: MSDN
The linked page goes on to show how you can add a text writer to the context.Log property to view the CAML that is generated by Linq-to-Sharepoint.
In your code, the Linq is turned into an IQueryable which is passed into the load function and converted to CAML. The executeQuery then runs all the stored IQueryable expressions and populates variables such as allDocs with the results. This is the usual Linq delayed execution.
If you were to use the .Single(...) method instead of .Where(...), the Linq would try to execute the query immediately and return a single item instead of an IQueryable which the load method is expecting.
As Alex K said, after the query has been executed you can use the standard Linq methods such as .Single(), .SingleOrDefault(), .First(), .FirstOrDefault() etc to get the only or first item from the results.