There are different applications for 2D rendering.
In our case we need support for the rendering to take place with f32/float precision, i.e. RGBA colors need to be 96 bit values.
We also do not care if the renderer is realtime. The application we have is vector rendering for movie production.
That's where the multiple backend approach of vello and especially the vello-cpu crate become really interesting. We will either add the f32 support ourselves or hope it will become part of the vello roadmap at some stage.
Also, Blend2D is C++ (as is Skia, the best alternative, IMHO). Adding a C++ toolchain requirement to any Rust project is always a potential PITA.
For example, on the (Rust) software we work on, C++ toolchain breakage around a C++ image processing lib that we Rust-wrapped cost us two man weeks over the last 11 months. That's a lot for a startup where two devs work on the resp. affected part.
Suffice to say, there was zero Rust toolchain-related work done or breakage happening in the same timeframe.