I'm not a vegetarian/vegan, but I love tofu.
I do think a lot of people just don't like it because of how it was prepared. Tofu is by nature a little slimy and oddly textured (though I personally don't mind it), but if you sweat it a bit to get the moisture out and then cook it correctly it can be nice and firm and has a nice texture that works in a lot of dishes (though admittedly it works best for me in Asian dishes that have a sauce that it can absorb).
When I cook it at home I usually let it sweat for about an hour or two between some paper towels to lower the moisture, and then I will fry it in some kind of vegetable oil until the outside is nicely browned and almost a little crispy. I find that about a 1/2" to 1/4" is about the best thickness for a piece. Then I will add it to a dish like I would any other meat.