Como usuario, generalmente no debería tener que preocuparse, se trata realmente del implementador de la fuente de datos. Si los proveedores de datos solo implementan IEnumerable, básicamente estás haciendo LINQ para la ejecución de objetos, es decir, está en operación de memoria en colecciones. IQueryable proporciona a la fuente de datos la capacidad de traducir el árbol de expresiones en una representación alternativa para su ejecución una vez que se ejecuta la expresión (generalmente mediante enumeración), que es lo que hacen Linq2Sql, Linq2Xml y Linq2Entities.
La única vez que puedo ver el cuidado del usuario final, es si desean inspeccionar el árbol de expresiones que se ejecutará, ya que IQueryable expone a Expression. Otro uso podría ser inspeccionar al Proveedor. Pero ambos escenarios deberían reservarse para los implementadores de otros proveedores de consultas y desean transformar la expresión. El objetivo de Linq es que no debería preocuparse por la implementación de la ejecución de la expresión que se utilizará.