How to split a Box or a Mesh with a Plane and keep both sides? I understand there are a couple of options we can do in Blender in term of slicing a mesh (in my case I want to slice a box) :

Bisect Tool
Knife Tool (this one is too artistic for my purpose, hard to be precise)
Boolean &gt; Difference
But none of them provide a &quot;Keep both&quot; sides of the slices.

I know I can duplicate an the object first. Then slice both objects while keeping the opposite section.
This is quite tedious as I need to perform this so many time.
Is there a way to just simply keep both?
I'm on Blender 2.9.
This can be done using the Bool Tool add on.  Bool Tool is included with Blender.  It needs enabling.
Step 1 Enable Bool Tool: 
Step 2:  I have a Cube that i have intersected with a plane.

Step 3: Select the Plane first, hold down Shift key then Select the Cube

Step 4:  From the Properties Panel (Press N if its not visible)  go to Edit then Bool Tool

Step 5:  Use the Slice option in Either the Auto Boolean or Brush Boolean menus.
Result is a Cube cut into two sections with faces applied between the two.