ASP .NET MVC NonAction significa

Alguém pode me dizer por que devo usar o NonAction? Quero dizer, digo que tenho um formulário com vários valores de envio: Atualizar, Excluir ou Inserir. Como todos os botões de envio têm a mesma forma em comum, estou trocando o valor de envio dentro do controlador e agindo de acord

Como isso

public ActionResult asd(string submitButton){
     switch(submitButton){
         case "Insert":
             return Insert();
         // bla bla bla
     }
}

[NonAction]
public ActionResult Insert(){
    // some code inside here
    return View();
}

Novamente, por que devo usar o NonAction em vez de algo como isto:

public void Insert(){
    // some code inside here
}

questionAnswers(10)

yourAnswerToTheQuestion