一、
为什么 :is natual, common formal & colloquial.
为啥 :colloquial, litera, social-network(between best friends).
为何 :written, formal, social-network(between best friends).
凭什么 :When you feel angry, you can say '凭什么...'; Also '为什么' is also okay here.
二、
好 means okay, alright. It is very casual, colloqual. I would use '好' when responding a best friend's 'invitation, ask'.
好了 means "something has just been done" or 'You have just finish doing something.'
好的 means "okay,alright". I feel '好的' is more friendly than '好'.
好吧 :When you don't want to do something but you have to, you can respond with '好吧'. But don't say this to your bosses or acquaintances.