Hmm, interesting. I don't use Oracle, so I haven't used invisible columns. So take these thoughts with a grain of salt:
It seems this keyword was implemented mainly to keep backwards compatibility of your tables and applications that consume those tables by using SELECT * FROM Table. As I understand it, it only hides the column from those queries, you can still get the values with SELECT InvisibleColumn FROM Table.
So this is a very bad way to store sensitive information (passwords, private data, department-internal comments, etc.).
I have no idea how ArcGIS consumes the table. INVISIBLE could only be used to hide a column in ArcGIS if it uses SELECT *. If you want to hide fields from a layer inside an ArcGIS Project, you are better off using the Visible attribute in the Fields view.
If this does hide the column from ArcGIS (again, no clue), I could see use cases where you need to calculate some values for use in other appilcations (say, an asset management system) and you need those values to be uneditable in ArcGIS. Then again, you could do this with Attribute Rules...
It really doesn't sound like "Let's use this to hide data", but "We have an app that uses SELECT * and adding a new column would make that app not work anymore. It's easier to use this keyword than to fix the app."
Have a great day!
Johannes