In ZFC, why was it chosen to not define what exactly a set or $\epsilon$ relation is? From about the first twenty minutes of this lecture by Frederic Schuller, what I understood was that the philosophy of ZFC was that we define the idea of a set and $\epsilon$ relation by their properties rather than stating what they are literally.
However, why exactly do we not define these objects? What exactly is the difficulty to do this?

The short answer is that we do not understand well enough what a set is.
There is a definition of a set which goes back to Cantor:

A set is a gathering together into a whole of definite, distinct objects of our perception or of our thought—which are called elements of the set.

Unfortunately, this description does not seem precise enough to decide whether some of the more exotic collections of objects - the collection $V$ of all sets, the collection $Card$ of all cardinals, the Russell class $R=\{x|x\notin x\}$ - are sets or not. Cantor later came up with the term inconsistent multiplicities to rule out collections such as $Card$ whose "gathering together into a whole" implies a contradiction, but arguably also this extended notion is too imprecise to really nail down the concept of a set.
Instead of such "philosophical" definitions of sets, we now have axiomatic theories which describe some properties of sets which are deemed uncontroversial. This allows one to just work with the properties, instead of building on some potentially nebulous intuition about what sets "really are".
One such theory is ZFC. It is well-known that ZFC is incomplete, and therefore allows for different models - each of which has a different concept of set. Now if you do believe that there is one and only one true concept of set, then the incompleteness of ZFC means that there must be some true set-theoretic principles that we have overlooked so far. Note however in this context that due to the results of Gödel (and Turing), no complete theory of sets can be computably enumerable.
