As far as I can see it sets an interface as an 802.1Q tunnel port.
802.1Q tunneling can be used if for example a service provider wanted to securely preserve a customers VLANs over their WAN backbone.
I think its just a case of adding an additional 802.1Q tag to the customers traffic.
You can read more about 802.1Q here:
What this command does is allowing the Service provider to tunnel customer's Vlans transparently. In Other word, the Switch mode dot1q - tunnel allows the vlan taggs recieved by aport to be tunneled from that port. The Inner Vlan tag is always going to be the Customer Vlan tagg and the outer Vlan tagg is always the Service provider Vlan tag.
The Q in Q tunneling is mostly deployed in a service provider invironment which enables a service provide to transparently carries customer's Vlans without a conflict besides the ability of allowing a Service provider to implement whether (Dot1q Standard OR ISL cisco properitary in the CORE Network independantly from the Edge Network).
Hope It helps,