Why do I have those two linux folders in /usr
Those are the header files for the kernel(s) you have on your system. Both can be removed through apt-get
(do not do it manually). (probably sudo apt-get purge linux-image-3.8.0-29
)
What exactly is generic version of ubuntu ? how it differes from other versions?
"generic" means the general usage kernel. It is the kernel used for desktop installations. Before 12.04 we also had a "generic-pae ", "server" and "virtual" version next to "generic" but that distinction was removed. Nowadays we have "omap" (Kernel for TI OMAP3 and OMAP4) and "highbank" (Kernel for Calxeda Highbank).
In general the difference are optimal setttings for that specific hardware. Here is a list for several Ubuntu versions.