Moin moin means Guten Morgen (good morning), literally Schönen Morgen (beautiful morning), from Low German. It's similar in Dutch and I think Frisian as well.
Moin is short for Moin moin and means just Guten or Schönen and can therefore be used all day. In Northern Germany (well, Schleswig-Holstein at least) you'll encounter Moin moin all day as well though.
Note that Moin may also mean Morgen in Southern German dialects, not to be confused with Moin in Northern Germany...
By the way, Guten is also used informally when starting too eat, short for Guten Appetit. Don't use Moin in this context though ;)
Moin moin heißt Guten Morgen, wörtlich Schönen Morgen, aus dem Plattdeutschen. Im Niederländischen und (glaube ich) Friesischen ist es ähnlich.
Moin ist eine Kurzform von Moin moin und heißt nur Guten oder Schönen. Daher kann es den ganzen Tag verwendet werden. Im Norden (zumindest in Schleswig-Holstein) sagt man aber mitunter auch Moin moin zu anderen Tageszeiten.
Moin kann in süddeutschen Dialekten auch für Morgen stehen, und sollte daher nicht mit dem norddeutschen Moin verwechselt werden...
Guten wird informell auch als Kurzfrom für Guten Appetit beim Essen verwendet. In diesem Zusammenhang sollte man Moin aber nicht verwenden ;)