"Buonanotte" is similar to "Good Night", we use this as a hail when you (or someone else) are going away in the evening (as if you are going to sleep).
"buonasera" is a type of hail similar to "good morning" but you use it in the evening (I don't know if you say in english "good evening" but this would be its meaning). You can use it when both you (or someone) arrive and when you go away (like "ciao"), but it is quiet formal
"prego/di niente" have a similar meaning (as "you're welcome")but "prego" is a "jolly", you can use it for other things, for exalmple, if you don't understand something you can ask "sorry?" in italian "scusi?" but you can also say "prego?" it's like a permission and a request to you to tall again at the same time.
also "spiacente/mi dispiace" are similar, you can use both, but we can say that if it is your fault it's better "mi dispiace" because "mi" is more personal