As for why they don't use regular BASIC... For one thing, almost every system implements BASIC slightly differently, so although there are similarities, there isn't one definitive BASIC. But the changes in SmileBASIC are mostly conveniences for modern programmers and optimizations to make it easier to use the 3DS's features.