Hi level answer is always - to satisfy the product/customer requirements.
If the requirement was never documented or lost, then you can only deduce it like Sherlock Holmes.
Low level answer is always- because this is the best way current developer could come up with given the organizational context and his level of experience.