As various posters have said, your kernel is 32-bit. The meaning of i686 deserves a little more explanation, however.
When compiling the Linux kernel (something that end-users don't generally need to do these days - the good people behind Ubuntu supply the kernel ready compiled), there are various options that you can tweak. One important option is CPU feature support.
All x86 CPUs are compatible with the original Intel 80386 (abbreviated i386), so if you want a kernel that's compatible with all x86 CPUs, you would compile an i386 kernel.
However, modern CPUs have many additional features (integrated floating point unit, MMX, etc.), which Linux can use if it is configured to do so. As a balance between backwards compatibility and performance, Ubuntu's kernel is compiled with support for the features that were available on the Intel Pentium II (sometimes abbreviated as i686), which is why the kernel shows up as i686.
This also partly explains why applications compiled for 64-bit processors are sometimes faster. The i686 first appeared in 1997, and modern processors have many features that were not available on the i686 (SSE, extra registers, etc.), but applications need to be compiled with support for these features, which might break compatibility with older systems. By contrast, x86_64 CPUs first appeared in 2003, so applications can be compiled with support for some of the features introduced between 1997 and 2003, without fear of compatibility issues.