V4 vs V5
On versions prior to V5, including V4, Chef used to run twice. The first or main run was for the core Engine Yard code. The second or custom run was for the custom recipes that have been uploaded to the folder of custom cookbooks.
It is possible that some of your custom chef recipes overlap with EY's core recipes and change the default behavior. However, because of the way the chef recipes are run, these customizations would not be present or would be undone during the time between the first run and the second run. Because of this, V5 and later now have combined the two runs in into a single combined run (same chef run manifesto).
To override part or all of EY's main chef recipes under the cookbooks directory to customize your environment according to your application's needs in V5 and later, you will need to use Overlay Chef Recipes. These recipes will only need to include the parts of the main recipe that you will override. For specific examples, refer to Customizing Your Environment Using Overlay Chef Recipes.
V5 vs V6/V7
On V6, the Chef recipes' structure is similar to the previous stack (V5). As such, custom recipes can be converted to V6 very easily. However, there are cases where chef recipes will not be necessary as in this new stack, many features can be enabled and configured via environment variables. A list of supported settings can be found in Configuration via Environment Variables.