There has been a lot of discussion in the hydrological community and beyond about this issue; i.e. whether there is a 'best' hydrological model and whether there is (are) any model(s) which can be applied to any study area in the world. The general consensus is that there isn't one best model let alone that there is one best model that can be applied to any catchment in the world.
The characteristics of an appropriate hydrological model for a particular case study will depend on the aim of the study, the characteristics of the study area and the data availability (and possibly other factors). In general, different models will be appropriate for the simulation of high flows/ floods in catchments than for the simulation of low flows. The appropriate model will also depend on the spatial and temporal scales of interest. Are you interested in the annual or seasonal water balance or in detailed hourly estimates of the discharge? Is the study area a large river basin of 10 or even 100 thousands of square km or is it a small headwater catchment? Etcetera.
Given these (and other) considerations, it is hardly possible to identify one 'best' or appropriate model. We have good experiences with HBV and GR4J in many different catchments in the world (e.g. in Belgium, France, Germany, Poland, UK, Iran, Pakistan, China, Mongolia, Vietnam, Nile basin), but again the appropriateness of these models for your case study will depend on the factors mentioned before (aim, characteristics, data).
It's hard question to answer, because it depends on several factors. For example, if you want to simulate an event based flood the best models are HEC-HMS and KW-GIUH. If you want to simulate daily flows you can use SWAT or TOPMODEL, both of them are free. if your catchment is a large scale you should use VIC-3L model..
All of these models are free and availvble in all parts of the world.