Here's how the different functions work.
Note: A timestamp is basically a number where the integer part represents the day and the decimal part represents the time of day.
Floor() will round a decimal value down to the nearest integer. 5.6 becomes 5 for example. For timestamps, this means that the time is stripped out.
Date() is a function for formatting a numerical value as a QlikView date. The date is a dual value with a presentation value such as 2013-04-11 and an underlying numerical value like 41375 (used for calculations etc.).
MonthStart() is used to return the first date in the month of a given timestamp/date. If I use MonthStart() on today's date, 2013-04-11, it will return 2013-04-01.