init.d hack is a way to allow you to store scripts in a directory called /etc/init.d that will fire up when the phone reboots. Without it, you could create the directory but your phone won't run the scripts.
It's best to flash the init.d hack first which "hijacks" the boot process and will execute any scripts located in the /etc/init.d directory.
Once that is flashed, I find the V6 Supercharger Scripts to be the best for making the phone speedy. I use options 9 and 12. 9 sets the optimal memory settings that seem to prevent music from skipping. Option 12 makes the launcher not get killed in memory which can cause skipping and hi cupping in the X2 as it unloads and reloads from what I understand.
I really haven't used anything else except the V6 Supercharger Scripts. They seem to be the most popular, but what it all boils down to is, experiment with each one and see which gives you the best performance you are seeking.
I also know many ROMS, such as Eclipse, have incorporated the init.d hack and have their own versions of many of these performance scripts in them, so mileage will vary.
Also, the kernel doesn't mean anything. It works with all kernels. But, many of them require Busybox installed since they use various UNIX commands that are not available in the stock image.