Also this quote from MySQL themselves is good.
In most setups, you need not run OPTIMIZE TABLE at all. Even if you do a lot of updates to variable-length rows, it is not likely that you need to do this more than once a week or month and only on certain tables.
Based on this article on Table Optimization.
This has the effect of defragmenting the table and reducing the size of the table on disk down to 105MB. It also has a very positive affect on query performance, reducing the select query response time from 0.63 to 0.39 seconds. N.B. the mysql query cache was turned off to demonstrate.
Here's another quote from "MySQL administrators guide"
OPTIMIZE TABLE does a table repair and a key analysis, and also sorts the index tree so that key lookups are faster.
Just because this quote can never be told to often.
Premature optimization is the root of all evil
What you should do is measure before, do an optimization and then measure after. Then do the same thing the day after, if the increase in performance is minimal, then you should do the same after and see if you get a big boost in performance then.