luceos If I'm not wrong soft update updates extensions based on their constraints provided previously. Hard update updates everything to the latest compatible version regardlessly.
GreXXL lorimode you could have specified to use a certain version of an extension previously. Soft Update will respect that. If you do a Hard Update it will be like you have "*" as a version constraint meaning - as @luceos described that it will update to the latest compatible version fitting to your flarum/core.