I have a little bit of experience with unity form the past year or so. It the beginning I had a lot of trouble getting it to do anything beyond the standard functions without massive workarounds. What I realized is that the built in functions work wonders for what they're made for but if they don't match your aims well enough don't try to modify them, do it yourself. However I also found that unity is certainly capable of doing these things, just don't expect it to work out of the box.
A lot of people mentioned minecraft, now I've posted this on tig before but this
is my implementation of block terrain like minecraft's with fully destructible/ editable terrain. I've seen better implementations as well, my water is still pretty fiddly but it's finite. Terraria is another thing, it's 2d so you'll always get better performance with a 2d based engine but it would be doable, although you would end up doing a lot more of the work yourself that with a more standard game and this is the case for most examples.
Unity can handle a lot more than people assume, there are functions to do the low level stuff as well as the regular stuff so if you feel like it you can do things your way. My block terrain uses the mesh class to generate chunks of visible faces generated from an array and updated when blocks in the area are changed. It's more work than an fps or other straight forward unity games but still less work than lwjgl in my opinion.