ברירה טבעית יכולה להוליד הסתגלויות מדהימות שעוזרות לאורגניזמים להתאים באופן מושלם לסביבתם, כגון ההסוואה המגנה על העשים הללו מפני ציפורים טורפות. עם זאת, ברירה טבעית לא תמיד גורמת להסתגלויות אופטימליות שכאלה. למעשה, מספר גורמים מטילים מגבלות חמורות על הברירה הטבעית, ומעכבים את התפתחות ההתאמה המושלמת בין אורגניזם לסביבתו.ראשית, הברירה הטבעית יכולה לפעול רק על מגוון פנוטיפי זמין. לדוגמה, אוכלוסיית ציפורים לא יכולה לפתח תעופה מהירה יותר, אם אלל מהיר יותר אינו זמין במאגר הגנים או אינו מוכנס על ידי זרימת גנים או מוטציה. שנית, הברירה הטבעית מוגבלת על ידי תכונות התפתחותיות שנקבעו על ידי אבות קדמונים.לדוגמה, ציפורים התפתחו מחולייתנים לא מעופפים בעלי ארבע גפיים, והורישו תוכנית התפתחותית מאבות הקדמונים שלהן, מה שמיזער את הסבירות שכנפיים התפתחו מאפס. במקום זאת, שינוי מתמשך בזוג גפיים קיים איפשר לפתח תעופה פעילה. שלישית, הברירה פועלת ברמה של האורגניזם ולא ברמת תכונות נפרדות.לרוב זה גורר פשרות שבהן סיגול תכונה אחת נעשה על חשבון תכונה אחרת. ליען, למשל, יש רגליים ארוכות וגוף גדול המועילים לו בסביבתו. גופו המסיבי, לעומת זאת, גדול מדי לתעופה.