Generally speaking, currently, Brainfuck is seen as joke language or proof-of-concept language. Therefore, it's not very efficient, nor easy to write.

First of all, it's a really good exercise for your brain! Brainfuck, as the name suggests, is very hard to write and read, but not understand! You don't have to waste a lot of time just to understand this fascinating language, you can view it as Sudoku of programming.

Also, Brainfuck is a great learning tool. You can create code generators, optimizing interpreters, learn JIT & AOT compilation basics, compiler construction (by, for example, creating a compiler from Brainfuck to C or some kind of assembly language to Brainfuck).

Brainfuck is really simple too! It consists of eight instructions so it's really easy to learn.

Let's imagine Brainfuck computer - it would consume a really small amount of power (x86 has wide instruction set, ARM has it tighter, while Brainfuck destroys other real architectures having only eight!) and excel in simple tasks.

Finally, Brainfuck can help to understand the basics - how do you multiply two numbers? How do you create a conditional statement? In other languages, it might seem simple, but Brainfuck challenges the programmer creating this unique spirit.