не -- отрицательная частица
ни -- усилительная частица
Как правило, "ни" используется в отрицательных предложениях (т.е. в которых уже присутствует частица "не") для УСИЛЕНИЯ отрицания или для того, чтобы подчеркнуть невозможность действия:
Я ни за что не буду это делать = я не буду это делать ни при каких обстоятельствах.
"Не" используется для отрицания слова или выражения к которому оно относится:
Мне его не за что хвалить = У него нет ничего, за что я мог бы его похвалить
В "ни за что" ударение падает на "что", "ни" и "за" безударны.
В "не за что" ударение падает на "не", "за" и "что" безударны.
Кроме того, "не за что" является устойчивым выражением, используемым в качестве ответа на благодарность: "Спасибо" -- "Не за что / Пожалуйста"