I have quite a bit of experience with IPFS and I tried Dat once. It seems to me that Dat works much better, but I think the immutability of IPFS is its killer feature, Dat is thus much less interesting to me.
Underlying dat data is immutable. It's the constructs built on top that provide mutability. Dat is fundamentally a chain of immutable chunks, some having a special meaning to say what the data means (file/folder) and where to look for it. Once a chunk is there it will 'ever ever change. It is perfectly possible to play with those only.