Availabilyty depends on where you are registering it, for example if you register it your layout file it will be available for all pages which use this layout, if you register it for the form view file it will only be available for the pages which render the form view.
It really depends on whether or not you want it included in every page. If its included in every page that’s yet another page request that needs to be loaded from the server. If its only used on pages where its needed you’ll have a more efficient web site. Now one page request won’t change much but 5 or 10 will be noticeable especially on slower connections like cell phones or legacy land lines.
If you use registerCssFile in a view it allows you to reuse that same code elsewhere but also gives you the advantage of not including it in every page.
If you were to use inline Css in a view file, depending on if that view was being used by a widget (which if you did this it would be pretty bad since it could be written out many many times depending on the widget) your css would end up in the middle of the page and possibly not all of the elements that you would like for it to affect are affected. registerCssFile and registerCss allow you to put your css code in the head of your page.