I was tying to create list in Scala for which I would have used ArrayList. I can see that in Scala , List is immutable and ListBuffer is mutable. Is ListBuffer to be used for cases where one would use ArrayList in Java?
Well, historically people have used ArrayList for almost everything in Java, even where an immutable list would be better. That's simply because immutable lists weren't part of Java's libraries initially. Now they're somewhat easier with List.of() and other techniques. But you will still see ArrayList used in Java in many places where it's not the best fit necessarily. So don't let that carry over to Scala. When you need a mutable list, ListBuffer is a good candidate. But if you don't need mutability, don't use it.
Having said that, in terms of performance characteristics, ListBuffer looks similar to ArrayList, except it also offers constant-time prepending, like LinkedList or ArrayDeque. Probably it has similar weaknesses if you need to add or delete away from the ends. But I haven't looked closely at its internals.