"A target specifies a product to build and contains the instructions for building the product from a set of files in a project or workspace."
타겟은 Project나 Workspace의 파일들을 Build하여 생성되는 End Product입니다.
여기서 최종 제품은 Unit Test번들일 수도, 프레임워크일 수도, 앱이 될 수도 있습니다.
또한 Project에는 하나 이상의 Target이 포함될 수 있으며, 각 Target은 하나의 product를 생성합니다.
product를 build하기 위한 instructions를 포함한다는 말도 있습니다.
instructions란 해당 product를 빌드하는데 필요한 input을 빌드시스템으로 구성됩니다.

위 사진에서 Build Setting, Phases, Script 등이 Instructions에 해당합니다.
여기서 Target의 Build Setting은 Project의 을 상속받습니다.
하지만, Target level에서 다른 설정을 지정함으로써 Project Setting을 Override할 수 있습니다.

Configuration과의 차이점은
Configuration은 dev, inhouse, production 등 하나의 target에 다른 버전의 앱을 만드는 것이고,
Target 분리는 국내와 다른 UI로 해외 앱 출시, 무료/유료버전 구분 등을 위해 사용된다.
Xcode Project는 모든 파일, 리소스, 하나이상의 software를 빌드하는데 필요한 정보의 repository(저장소)입니다.
프로젝트에는 product를 만드는 데 사용되는 모든 요소가 포함되어 있으며, 해당 요소간의 관계(relationships)가 유지됩니다.
프로젝트는 product를 build하는 방법을 명시하는 target을 하나 이상 포함합니다.
프로젝트는 프로젝트의 모든 target에 대한 기본 build setting을 정의합니다.
Xcode의 프로젝트 파일에는 다음 정보가 들어있습니다.
참조
https://zeddios.tistory.com/706
https://developer.apple.com/library/archive/featuredarticles/XcodeConcepts/Concept-Targets.html
https://sweetdev.tistory.com/436