They are both adaptive sync technologies that change your monitor refresh rate dynamically to reduce screen tearing. FreeSync is a more open standard initially developed by AMD and is being integrated into an increasingly large number of new monitors due to being royalty-free. G-Sync is Nvidia tech that does the same thing, but requires the monitor manufacturer to purchase an expensive proprietary module from the company.
G-Sync requires an Nvidia GPU. FreeSync does not require a specific GPU, but Nvidia refuses to integrate it into their GPUs despite it being free to use.
I’d recommend siding with FreeSync.