Потому, что в Python -10 ** 2 означает -(10 ** 2). Не так, как принято в программировании, а так, как принято в математике. Хочешь, возвести в степень отрицательное число - пиши: (-10) ** 2.
А вот -10 * -10 считается традиционно: (-10) * (-10).
P.S. В Python единая таблица приоритетов для унарных и бинарных операций. И бинарная операция может иметь более высокий приоритет, чем унарная. Да: грабли.