[subject] + 没有 + [noun] [subject] + 没(有) + [verb]
没有 is the negative of 有, and the negative of anything that did not happen. It is the one negation 不 cannot do.
Before a noun it can shorten to 没: 我没钱 and 我没有钱 say the same thing, the shorter one more casually.
In front of a verb, 没 says the event did not take place. This is the only way to negate a completed action – there is no 不 version of it.
A sentence with 了 loses it when 没 arrives. wǒ我méi没chī吃le了 is wrong; the completion marker and the "it didn't happen" marker cannot both be there.
过 behaves differently and stays: 我没去过北京 is correct, because 过 is about experience rather than completion.
Both translate as "not". 没 reports that something did not occur; 不 says it is not the case, not wanted, or not going to happen.
Swapping them changes the sentence. 我不去 refuses; 我没去 reports.
有没有 asks about possession, 没有 at the end asks whether something has happened.