Source tracking is available in scratch orgs, and, as of Summer '20, is in beta for Developer and Developer Pro sandboxes if the optional feature is enabled in Setup.
Source tracking makes it possible to use the
sfdx force:source:pull and
force:source:push commands (and their GUI equivalents), which automatically identify changed metadata components between your local source tree and the remote org.
Without source tracking, you must use manifest-based deployments using a
package.xml manifest with commands like
sfdx force:source:deploy. This entails creating and managing a manifest to define which specific components you wish to interact with.
Trailhead Playgrounds do not currently have source tracking. They are a type of Developer Edition org (not a sandbox). They can, however, be Dev Hubs, which allow you to create scratch orgs.