Why don't we define neighbourhoods to be open sets? There seems to be two common definitions of neighborhoods of a point- an open set containing the point, or an set containing an open set which itself contains that point. Why don't we just use the former definition, it seems so much simpler? What do we gain from the latter?
 A: The first definition makes it necessary that neighborhoods be open sets. The second definition allows closed sets to be neighborhoods as well. Many mathematicians require the neighborhood to be an open set. But it is a matter a convention. Hence we have two definitions. 
A: Sometimes it's more convenient to have the more general definition : topologists talk about "closed neighbourhoods of a point", e.g. A space $X$ is regular iff every open neighbourhood of a point contains a closed neighbourhood of that point. Also, local compactness is often defined as "every point has a compact neighbourhood". These ways of defining the notions make it easy to have a general definition. It also nicely singles out the open sets: a set $A$ is open iff $A$ is a neighbourhood of $x$ for all $x \in A$. 
Also, as @GEdgar notices in a comment, it's convenient to have the set of all neighbourhoods of a point be a so-called filter, and to make it closed under supersets we need the general definition too.
In short, it's not necessary, but it is convenient. And we can define things how we like, as long as it's clear what we mean.
A: It's a matter of convenience. Some times you need to talk about open sets containing the point, and some times you need to speak about sets containing an open set containing the point. So we need one name for each concept. We can (basically) choose between


*

*Neighbourhood & set containing a neighbourhood

*Open neighbourhood & neighbourhood


I personally think the second pair of names is more appealing, overall. So I would go for "neighbourhood of a point" meaning "a set which contains an open set which contains the point". Others may disagree, and they would think that "open set which contains the point" is a better definition.
A: In German we have two definitions. An “Umgebung” of $x$ is any open set that contains $x$.  A “Nachbarschaft” of $x$ is any sets that contains an Umgebung of $x$.  I didn’t find a proper translation of those two words.
