We can already change the textures of characters, as well as modify the effects of any hitbox, or the speed of any animation. Things like changing the models themselves are, strictly speaking, possible, but are probably complex to the point where they will not be developed at all/within a significant period of time.
Modifying Brawl is done using a program called Gecko OS, developed by Nuke and later brkirch, which applies a code handler which oversees brawl. Through tactical changes in values in memory, we can create large changes in the way the game plays. To pick a simple example from a simple game: if I were playing Super Mario, I could change the value stored in the game's memory for how many lives I have, and set it so that it's always full.
Creating codes to modify a game requires the use of a device known as a USB Gecko. The device allows you to interface your Wii with a computer, viewing the game's memory in real-time. Using the codes once made does not require said device, merely a soft-modification to the Wii. Future updates in homebrew may allow users to use game "hacks" without modifying their Wii at all.