You need a 1GB test file to benchmark your disk, fill a partition to a specific threshold, or simulate a large log file, and the touch command gives you a zero-byte stub that’s useless for any of those jobs. The 2 tools that actually do this are dd and fallocate, and most people either don’t know both exist or don’t know which one to reach for.
They solve the same problem in completely different ways, and the difference matters depending on what you’re trying to do.
dd command writes actual data byte by byte, so the file is fully written to disk before you get your prompt back.
fallocate tells the filesystem to reserve the space without writing any data at all, which makes it near-instant even for files measured in gigabytes.