For the first method u dont need to create the sequence, the uvm_object_wrapper will allocate the sequence object, while in 2nd u need to create the sequence using factory and then start it sung seq.start(seqr_handle);
Once you create the sequence, you can randomize/constrain/modify it before starting it, so you have more control than if you use the config_db to set the default sequence.
Incidentally, if you do want to use a “default sequence” you can have your environment create and start it in the run_phase. That way, the sequence will be started “automatically” without the test having to do it. A couple of caveats:
In general, you’re best off creating and starting all sequences explicitly from your test.