A standard hardware queue is FIFO (First In, First Out), and all the traffic going through the interface passes through this one queue.
Based on your previous question, you probably want to shape based on traffic type, giving priority to things like VoIP. This involves setting up multiple software queues, and giving each queue a certain period of time to send to the hardware queue. A priority queue, like for VoIP, will always get first precedence, up to it defined bandwidth, as long as there is something in the priority queue.
Also, tail drop can cause TCP global synchronization (a bad thing). There are mitigations like RED (Cisco WRED) that randomly drop packets in a queue to prevent the queue from filling and causing tail drop.