Difference between {% includeCssFile %} or including it with
The difference is that {% includeJsFile %} can be called in any template or template part and will add the script to the bottom of the page (as explained here). 

So you could, for example, have a field that requires some JavaScript, say an image slider. You'll only need the JavaScript for that slider, not for the rest of the website, so in the template part where you set up the HTML for the slider, you also include the needed JS with {% includeJsFile %} and it will get added to the bottom of the page. 

Where as with just including it in the head will load it on all pages. 

It's the same for {% includeCss %}.