The default join kind for Table.NestedJoin() is left outer join. However, as other join kinds are supported (for example, inner, anti, and full outer), explicitly specifying this parameter in expressions is recommended.
Left outer joins were required in the product table example as the foreign key columns on DimProduct and DimProductSubcategory both allowed null values.
Inner joins implemented either via Table.NestedJoin() or Table.Join() functions would be recommended for performance purposes otherwise.
Additional details on the joining functions as well as tips on designing inline queries as an alternative to staging queries are covered in the Integrating and working with multiple queries recipe.