using themename_the_custom_logo() in template-tags?

first of all why he did not use the_custom_logo() method itself in the header file

This function checks that the the_custom_logo function exists for backwards compatibility, so that the function works on WordPress versions older than 4.5.

The reason this is done in inside twentysixteen_the_custom_logo() is so the theme can just use a single function in the template, without adding that if statement:

<?php twentysixteen_the_custom_logo(); ?>

vs

<?php
if ( function_exists( 'the_custom_logo' ) ) {
    the_custom_logo();
}
?>

and second what is the use of the_custom_logo() method anyway ? what can we add to this method ?

Themes can support a Custom Logo feature. This function outputs the selected logo.

and if u know a good source for creating a theme for wp I will appreciate your sharing <3

You should start with the theme handbook: https://developer.wordpress.org/themes/ But I would advise learning some basic HTML, CSS and PHP first.