There is no difference, it's just to group the different types of activities. if you want to retrieve a list you don't want to have to look in "Object" branch to retrieve a list, so both branches have the same retrieve option. The only thing that is different is the check box.
I also don't want to remove the checkbox. The checkbox is usefull when you are creating a microflow and you retrieved an object, and after some time you need to retrieve a list instead of an object. In this case you don't need the remove the whole activity, you only need to uncheck the the checkbox. This happens a lot of times when you are developing.
There is no real difference. The only difference is that for object retrieve the 'First object only' is checked by default.
We've added both activities for usability reasons. If you want to have a list and search for a retrieve activity you will first look into the list activities. Now you can find the retrieve activity you want in that set.
Both actions use the same modeler form. But when you connect the activity Object/retrieve than the option 'retrieve first object only' is checked. When you connect the activity List/retrieve than the option 'retrieve fist object only' is unchecked. That's the only difference.
So you also use the action Object/retrieve for retrieving a list (but you have to uncheck the 'first object only' property) and vica versa.
True, please be aware that a list can not be empty. So if you want to check there are items in the list, you should first count (list aggregate) and then check if the count is 0.