Answer
The source defines where the desired manifests come from: repoURL, path (for plain/Kustomize/Helm-in-repo), and targetRevision (branch, tag, or commit). The destination defines where to deploy: the cluster (server URL or name) and the target namespace. Together they map 'what to deploy' to 'where to deploy it'.
source:
repoURL: https://github.com/org/repo
path: apps/web
targetRevision: main
destination:
server: https://kubernetes.default.svc
namespace: webReal-world example An Application pulls from the main branch's apps/web path and deploys into the web namespace of the local cluster.