If a bucket is full in tokens, tokens are discarded, not packets. While in a leaky bucket, packets are discarded.
Token Bucket can send large bursts at a faster rate, while buckets always send packets at a constant rate.