Why is WordPress’ file upload limit so low? Is changing it harmful?

AFAIK, this 2Mb limit is not set by WordPress, but rather a php default limit set in php.ini. As for the specific reason why, I cannot tell you, but my guess would be that it has something to do with webhosting companies.

Before you change any of the defaults like upload size, it is always always a good idea to check with your host and checking what are their requirements regarding a specific issue. You might get your account suspended for not following their policies and rules. Also check your package with them, there is no use having a low bandwitdh, low disk space package and setting your upload size very high. One or two large videos or images can have your account suspended due to going over limit on disk space or bandwidth

Apart from that, it is save to set your limits to your required size