Gen is an add on to Max that allows you to use a similar programming environment to produce low level functions. Basically using gen you can write your own advanced objects without necessarily having to delve into C etc. For example using gen~ you can write devices that filter using sample based delays and feedback which is impossible within Max. Gen is not an alternative to Max though you must have a full Max 6 license to use Gen.
Suddenly i became the secret little spy of Native Instruments.. But this was not my intention..Because gen is a brave new world for doing "expert things" like CPHAS said without living the comfort of traditional MAX. After all gen is used more and more inside prepared patches like Granulator II from Monolake