Cache is the memory that the processor has dedicated for running its instruction sets.
L2 and L3 refer basically to the placement of this memory in relation to processor.
All cache nowadays is onboard the cpu and L1 is closest while L3 is farthest away.
Really though the difference is speed between L2 and L3 is neglible but it is better to have a 3mb L2 than a 3mb L3.
I am not experienced on Intel Core i3's but based on the info given the i3 350 seems better.
BUT the differences just in clock speed and cache between the two would make me look more at the pricing.
However there might be other reasons as far as overclockability, power consumption (heat), how advanced the insruction set, Front Side Bus speed or even if they support HyperThreading.
Checking Wikipedia would be a good place to start.