To expand a bit more:
Modding is considered to be restrained to using the features already in the game to do more things. You can add alien races, new weapons/armors/tanks/crafts/base module/countries/funding/prices easily via modding, and you can also add new maps/terrains and change/add missions, although this is a little bit (ha!) more involved. Although it might sound like not that much, you can do a HUGE amount by modding. UFO-Redux by Hobbes is probably the most daring mod at the moment, as it adds something to everything. Hobbes' work on terrain is a must, but I think his work on missions is also really interesting. The FMP is also an example of modding gone big.
Adding new mechanics that don't exist to the game is something entirely different, which is not really done (much) since the main effort has been concentrated on making the game and improving the UI. Yankes and Meridian are the only people who are actively implementing new mechanics right now, with Yankes having done a crazy amount of work in OpenXCom Extended (OXCE) to add new mechanics for modders, while Meridian did a lot for UI but also some mechanics (added to OXCE, making OXCE+). Shoes also developed a mechanic to reward soldiers with medals, but now that his work has been merged into the main branch, I guess he is not really developing stuff on the side any more.
Finally, XPiratez by Dioxine is a great example of modding + new mechanics, as it is a mod built upon OXCE/OXCE+.
For most of what you want to do (make the game longer and tweaks things), you do not need to program in C++ and can restrict yourself to modding. If you want to add new mechanics (like recovering countries that defect from XCOM), then you need to change the program. New mechanics is not really what most think of when thinking modding, and it requires a different skill set (programming as opposed to the more graphic/planning work of modding).
If you don't already know how to program, I would suggest you concentrate on modding in the parts of what you want to do that can be modded, and once you are done with that and comfortable with OpenXCom, you can dive into coding. Unless you really want this specific mechanic or really want to learn C++ now.