Simple widgets are designed mainly to exist in the Sitefinity project in which they are going to be used. If you want to reuse them in another site you'll have to copy all the controls and related files and resources (ascx, images, scripts, etc) into the new project and make sure all the paths are correct. This is the nature of working with asp.net User Controls in general.
However, Sitefinity also supports developing custom server controls. These are controls that exist in a separate project, and are compiled into their own dll. All of the resources (ascx, images, scripts, etc) are embedded into the DLL so all you need to do to reuse them in another Sitefinity site is to either reference the compiled DLL or add that project to the Sitefinity solution.
I'm working on a blog post that demonstrates how to create a custom compiled widget, but until then there are several examples of these types of widgets in the Sitefinity SDK
. Take a look at the Non-profit starter kit, which includes three compiled widgets (Calendar, Maps, Social).
I hope this is helpful!