1. There is a lot more work needed to load commercial roms from a flash cart. Commercial games are not designed to be run from flash carts, as such, they need to be heavily patched (by the loader software) to run on that particular card.
Homebrew is designed to run specifically on flash carts, any data access etc. is done in a way that very little patching is required.
Those people who have created loader software for the DS, usually make sure their loaders can only be used for homebrew and not commercial roms for two reasons, one I have just mentioned, there is a lot more work involved and it is not just a one-off job. The loader would have to be updated regularly to counter the various anti-piracy techniques that companies come up with to make it even harder to load their games from flash carts. Two, probably the most important one, legality. In most countries it is illegal to have a 'backup' copy of a commercial game, not even for 24 hours. In some countries it is ok if you create the backup yourself, using your own game cart, but then again, in most countries this is illegal also.
2. Soft reset is a lot easier on commercial games than on homebrew. The Arm7 code from the game needs to be patched in order for the reset to work, on commercial games there are very few variations in the Arm7 code, I think there are maybe two or three version of the Arm7 binary, meaning that it is very likely that the relevant information can be found and patched. In homebrew, everyone is free to make their own Arm7 code, meaning that most homebrew will have a completely different arm7 binary file to try to patch. Making homebrew soft-reset an extremely difficult task.