The dalvik cache is where the android system stores the compiled Java class files(basically the internal workings of an app) also know as .dex files. Whenever you update an app, the os moves the classes.dex file of the updated app into the dalvik cache to ensure the dalvik Vm(the android Java virtual machine) will be using g the right classes for the right app.
When flashing mods that alter a .dex file for an app such as a theme that makes changes to one of the framework .dex files then its best to clear the dalvik cache to ensure the android system rebuilds the cache with the right .dex files
On the contrary to what 99% of people say, flashing kernels or mods that do not replace apps does not require clearing the dalvik cache. The kernel has nothing to do with the dalvik cache. Its the dalvik Vm and android os that uses it. You can argue all you want but you don't have to clear it if what you flashed doesn't change or replace apps.
Having said that, clearing the dalvik cache wont cause any harm except for a long boot time on the next boot while the os rebuilds the cache.
Now it may be possible that dex files have become corrupted due to errors in I/o functions and clearing the cache would help. But I'm sure this does not happen often at all especially on journeled file systems which our phone uses.
So to a swerve your question, its not crucial to do it
And it wont free up any space because even when you uninstall an app, it's dex file gets removed. Now if you manually delete apps( like with root explorer) it may be wise to clear it as those dex files wont be removed, although they should be removed on the next boot.
However sometimes I clear mine to ensure the dalvik Vm is reading for correct and up to date dex files for the app. But its not like an every week or even every month kind of thing to do. But it certianly wont hurt to do it.
I just hate when people say to clear the dalvik cache for every little thing, like flashing a mod that copies over an init.d script and they say to clear the dalvik cache. Its not needed in those cases!!
Hope this helps out!