Confused about customising widgets

What you have used is actually pretty obsolete remnants of “old” widget implementation.

The current implementation of widgets in WordPress is using new, class-based approach, see Widgets API in Codex.

There isn’t really designated way to “customize” functionality of existing widget. Depending on circumstances you might be able to use hooks in its code. Outside of that usually widget is forked under different name or extended from existing class and registered (as a new one or replacing existing implementation).