Q:

What is the difference between ff-ff-ff-ff-ff-ff (layer 2 broadcast) 255.255.255.255 (layer 3 limited broadcast)?

Please explain the flow of traffic in each case.

A:

They are aimed at different network layers. Every layer-2 broadcast must be inspected and processed by every host to see if it should be passed up to layer-3. A layer-3 broadcast received by a host must be inspected and processed to see if it must be passed up to layer-4.
I suppose it would be possible to create a layer-2 frame which is a layer-2 unicast frame but contains a layer-3 broadcast address. This would not really be a broadcast since it only goes to a single host based on the layer-2 MAC address.
ARP is an example of a layer-2 broadcast which has a layer-3 unicast address. Each host must inspect the layer-2 ARP broadcast to see if it should be passed up to layer-3, but only the host with the layer-3 unicast address will actually pass the layer-2 broadcast up the stack.

A:

The layer 2 broadcast address ff:ff:ff:ff:ff:ff is used on ethernet frames and is supposedly broadcasted on all equipments. 
255.255.255.255 is the layer 3 address that is used to adress the exact same hosts.
Note that: 

IP can support all kind of networks, so ethernet won't be always used. 
Reciprocally ethernet can be used without IP (appletalk, IPX, ...).
One layer 2 media can share several IP networks, but it is really bad practice: broadcast limits should be the same at layer 2 and 3 (for instance if 10.0.0.0/24 and 10.0.1.0/24 are located on the same switch and same vlan: bad idea).

