Often, this is caused by DDL operations on objects that your invalid objects were dependent on. For instance, if a table is modified, packages and procedures referring to that table are marked as invalid.
There are a number of ways to ercompile invalid objects:
Bookmarks