In responses to this question, KM said
if you are on or above SQL Server 2005, you can use IFs to have multiple queries in the same procedure and each
From my knowledge I would say that each stored procedure or overall query generates a single plan, cached based on hash of the SQL and retrieved from the cache on that basis.
What I believe was referred to was when you write a proc that contains calls using sp_executesql or exec, since that would then be an additional query submitted which generated it's own plan.
On that basis you get multiple plans. The text in the article was as follows:
Each subprocedure has its own plan in the cache, and for search_orders_4a_sub1 and sub2 that is a plan that is based on good input values from the first call. The catch-all search_orders_4a_sub3, still has a WITH RECOMPILE at it serves a mix of conditions.