Both mean 'son'. Maybe the former sounds a bit literary. Musuko can be used to refer to either your own son or someone else's son, while segare can be used to refer to your own son but cannot be used to refer to someone else's son: Both うちのせがれ and うちのむすこ are fine, but you say ~~さんの息子(さん), not ~~さんのせがれ(さん).