What is the fundamental difference between verification and validation in a software development lifecycle?