What is the use of the managerId on the user object ? Can it control visibility of data without explicitly generating sharing manually for the manager?
ManagerId does not control the visibility but has an important role in the approval process inside sfdc .Because of this field you can dynamically assign records to corresponding managers .
Also if you are explicitly writing some sharing rule you can make use of this field .
It is very different than delegated User concept .Infact for delegated Approver there is a separate field on the User record .
You can also use hierarchies to organize access to records. Here you assign your manager a role that is higher in the hierarchy than the role you assign to his employees. Then the manager can see every record that is owned by his employees.
For info read here: Salesforce Documentation on hierarchies