MySQL / InnoDB: Does daily optimization improve performance?
MyISAM
Doing OPTIMIZE TABLE mydb.mytable; performs two basic operations
ALTER TABLE mydb.mytable ENGINE=MyISAM;
ANALYZE TABLE mydb.mytable;

This definitely cleans up table fragmentation and computes fresh statistics for indexes
InnoDB
Doing OPTIMIZE TABLE mydb.mytable; performs two basic operations
ALTER TABLE mydb.mytable ENGINE=InnoDB;
ANALYZE TABLE mydb.mytable;

While this eliminates fragmentation, ANAYLZE TABLE is complete useless for InnoDB. I wrote about this a long time ago:

Jun 21, 2011 : From where does the MySQL Query Optimizer read index statistics?
Oct 16, 2011 : Suddenly have to rebuild indexes to prevent site from going down

If your data growth rate is very small (or in other words, your dataset stays basically the same size for months at a time), then defragmenting tables would just be overkill. You should probably focus on tuning InnoDB's other aspects (See my Aug 04, 2011 post: Optimizing InnoDB default settings)
I also have posts in the Drupal StackExchange on opimizing MySQL

Jun 07, 2011 : How do I convert a database from MyISAM to InnoDB?
Apr 15, 2011 : What would be the optimal MySQL configuration for a Drupal 7 site?