The reason I'm asking this is because I always see so many videos on filtering enable and I wonder if it is hard to use (hard to code with).
FilteringEnabled acts as a wall between the client and server. When you have FilteringEnabled enabled, changes on the client will NOT be replicated to the server. For instance, if I was an exploiter and came to your game, and you had filtering disabled, I could delete the entire workspace and ruin the experience for all the players. But with filtering on, only on my screen would the workspace be deleted.
Also, using filtering-enabled is HIGHLY recommended for profit and overall expanding your playerbase. So far roblox has hidden ALL experimental mode games from the search bar, and now they have made it so that <13 players can no longer join experimental games, unless they're friends with the creator.
As for the scripting part, youd have to program around some restrictions by using RemoteEvents and RemoteFunctions.