Best Practice to use Form_Show vs Init methods

I guess (might be wrong), the effect is only clear when a lot of data is loaded.
init() form doesn’t show until data is loaded
Form_Show(): forms shows, then data to populate a bunch of drop down fields