Being a dev and making mods are two related but distinct skills (you can be an accomplished developer and not be a ROM hacker, and vice versa, though there is a lot of overlap.
For developing your own code you have a few approaches.
Low level stuff for the wii probably means
https://devkitpro.org/ (with the devkitppc aspect of it -- devkitpro as a whole covers a lot of things).
This will be the fastest and tightest code if you can handle it, however coding in C and C++ is not the easiest thing if you are new to all this.
If you would rather something more sedate then there are higher level languages that are easier to learn and code with, however you get to skip your dreams of making some kind of 3d world RPG that is also a kart racer. Not sure what the complete list is these days but python
https://pypi.org/project/Wii.py/ and lua
https://github.com/carstene1ns/lua51-wii are available and represent two of the bigger options.
Modding games to do other things then falls under the umbrella of ROM hacking.
https://wit.wiimm.de/ and wiiscrubber should both be able to pull apart disc based Wii games, and the former some of the wbfs stuff as well. Not sure what we are suggesting for pulling apart WAD files (Wii virtual console and Wiiware stuff) these days but I guess the libwiisharp example stuff will be noted pending something better.
Once there you can pull apart the files to figure out how they work, or maybe if the files are a known format
https://wiibrew.org/wiki/Category:File_formats + various others seen in things like Smash Brothers and Mario Kart.
https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/ is for the GBA and DS but the general approach applies to all ROMs on all systems (albeit the older stuff can't generally be broken apart into individual files).
http://www.romhacking.net/start/ might also help here.