So I am rooted but have not flashed any ROMs, so do I have to get a new ROM to overclock, and I heard I need a new kernel, but what is a kernel?
As riggerman stated, please read the sticky posts if you haven't.
But to answer your questions, you need a custom kernel in order to overclock. A custom kernel comes with pretty much every custom ROM. So I suggest flashing a custom ROM. At that point, you'll need an app to set the overclock, such as SetCPU. That one costs money, but there are some free ones in the Market too.
Lets do some correcting here.
Froyo roms will need a app like setCPU.
Gingerbread/CM roms will not. Its built into the phone.
Really? I didn't know that. Where can you adjust it at within the ROM itself?