If you have some programming experience, you can do with QM most of things that you can do with C++ or other programming languages. You can create and call functions, use dll and COM functions (Windows API, C run-time library and other), create dialogs, create new trigger types.
You can share useful functions and macros (import, export), for example in Quick Macros forum. If you share your macros/functions, remember that they may not work on older QM versions. You should provide version info, e.g. "Tested with QM 2.3.5, Windows 7.". Macros compiled to exe files don't require QM and therefore will always work.
Many QM features are implemented as QM extensions. They are in System.qml file (the System folder in the list of macros). Many functions, declarations, dialog editor, code toolbar dialogs etc are there.
Many other functions are in Quick Macros forum. If you cannot find a function you need, you can request it in the forum.