Start here. This is the direct spoken answer to practice first.
Why this question matters
Repeatable delivery depends on knowing which output was built and exactly what gets deployed. Rebuilding or changing that output between environments weakens traceability and makes failures harder to reproduce.
A build artifact is the output produced by the build pipeline, such as compiled .NET binaries, a published API folder, a container image, or frontend build files. A deployment package is the artifact prepared for deployment with the metadata or packaging needed by the target environment. The important point is that the pipeline should produce a known versioned output. That output can then be promoted through environments.