Short answer: Use Append in almost all cases.
If you Link assets from linked.blend to main.blend then main.blend will always rely on linked.blend. Relocating projects with linked assets can be problematic. Another drawback is you cannot have multiple instances of a linked rigged asset each with unique poses.
Only use linked assets when working with a large team where each person is working on a different part of the project but need to see what others are working on, and even then you will want to remove the linked assets and replace them with appended ones in the very end once it’s finished.
More advanced tips:
If you have things made of multiple Objects you want to work on outside of your main.blend the best workflow I’ve found is to use Groups. Pay attention to keeping objects at a consistent scale, and Apply Scale to Objects whenever it makes sense to do so. For example you can have kitchensink.blend and all of its Objects are in the “KitchenSink” Group. If you make changes to kitchensink.blend then within main.blend select everything belonging to the “KitchenSink” Group and delete. Save As, close main.blend, and re-open it (this clears the ghost data that might otherwise prevent you from re-Appending a Group with the same name). Then Append the more recent “KitchenSink” Group.