Prove, do not reveal
Sending a secret proves nothing, it hands it over. Signing proves you know the secret without sending it: you hash the request with it. The server can verify the sender and reject anything forged, without the secret ever traveling.
Close the replay window
A signature is only as fresh as the request it signs. Include a timestamp and reject anything too old, so a captured signed request cannot be replayed forever. The window trades clock skew for security.