Ik ben in beiden geweest. Wat je kiest, hangt af van wat je precies wil doen, want beide landen zijn heel verschillend.
Costa Rica: natuur (jungle, waterval, vulkaan, ...). Costa Rica is klein en heel westers, je kan er eventueel een auto huren als je wil. Budget: het is wel wat goedkoper dan Europa, maar echt goedkoop is het niet. Ik denk dat je hier iets verder komt met Engels dan in Peru, maar daar ben ik niet zeker van. Over het algemeen iets veiliger dan Peru volgens mij. 3 weken is genoeg om het hele land te zien.
Peru: heel groot land, dus ook heel diverse dingen te zien. Cultuur: Machu Picchu, maar ook ruines/tempels van andere beschavingen aan de noordkust (deze laatste vond ik wel een absolute aanrader) en de Nazcalijnen. Jungle in het zuid-oosten (heb ik niet gedaan), het Titicacameer, Islas Ballestas, ... Dat maakt ook wel dat de afstanden groot zijn en dat je dus allicht wel meerdere nachtbussen en/of vluchten zal moeten nemen (ofwel meerdere dagen in de bus doorbrengen). Huurauto zou ik hier ten stelligste afraden. Peru is één van de weinige landen ter wereld waar ik zelf niet zou willen rijden. Engels wordt er nagenoeg niet gesproken. Het is zeker goedkoper dan Costa Rica (Machu Picchu uitgezonderd). Hier kan je gemakkelijk 4 weken spenderen en dan heb je nog niet alles gezien.
Als het je eerste reis buiten Europa is en/of de eerste die je zelf organiseert, zou ik eerder voor Costa Rica opteren.