There are a few other TCP based DDoS attacks, but they aren't very common due to the fact that TCP is by design quite inefficient for performing (simple) DDoS attacks. Application layer attacks (exhausting CPU, database, disk, etc) are often done based on TCP (for example by generating a lot of HTTP requests to a webserver), and there are few known attacks which try to abuse the TCP protocol, for example by sending illegal combinations of TCP flags or incorrect fragmenting. The 'teardrop attack' was a well known example of that, which used overlapping fragments to crash devices receiving the packets when reassembling them.
But as I already said, TCP isn't very popular for DDoS attacks. Since TCP requires a three-way handshake (SYN, SYNACK, ACK) before you can send any commands, it requires more resources from the nodes performing the DDoS.
Also, TCP attacks can not be done with spoofed IP addresses, because the TCP session would never reach the established state, since the SYNACK would be sent to the spoofed address. Many simple attacks rely on IP spoofing combined with protocols which send a large response given a small request (DNS, NTP, SNMP, LDAP) to generate a huge amount of traffic.
The third drawback of TCP is that it allows both ends to do flow control, thus throttling the sender when the receiver can't keep up, which is not something one would want when performing a DDoS.
Therefor, UDP attacks are much more common for all those attacks which generate tens of gigabits/sec of traffic.